提交修改
This commit is contained in:
parent
76ca0982bc
commit
d041350040
@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date;
|
||||
/**
|
||||
*购物车
|
||||
* @author quyixiao
|
||||
* @since 2025-11-08
|
||||
* @since 2025-11-09
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ -47,6 +47,7 @@ private static final long serialVersionUID = 1L;
|
||||
public final static String promoter_id = CLASS_NAME + "promoter_id"; // 推广者买家id
|
||||
public final static String trade_info = CLASS_NAME + "trade_info"; // 交易信息
|
||||
public final static String transaction_id = CLASS_NAME + "transaction_id"; // 事务id
|
||||
public final static String buyer_address_id = CLASS_NAME + "buyer_address_id"; // 买家地址id
|
||||
//
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@ -100,6 +101,8 @@ private static final long serialVersionUID = 1L;
|
||||
private String tradeInfo;
|
||||
//事务id
|
||||
private String transactionId;
|
||||
//买家地址id
|
||||
private Long buyerAddressId;
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
@ -490,6 +493,21 @@ private static final long serialVersionUID = 1L;
|
||||
this.transactionId = transactionId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 买家地址id
|
||||
* @return
|
||||
*/
|
||||
public Long getBuyerAddressId() {
|
||||
return buyerAddressId;
|
||||
}
|
||||
/**
|
||||
* 买家地址id
|
||||
* @param buyerAddressId
|
||||
*/
|
||||
public void setBuyerAddressId(Long buyerAddressId) {
|
||||
this.buyerAddressId = buyerAddressId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "VvTradeOrderEntity{" +
|
||||
@ -519,6 +537,7 @@ private static final long serialVersionUID = 1L;
|
||||
",promoterId=" + promoterId +
|
||||
",tradeInfo=" + tradeInfo +
|
||||
",transactionId=" + transactionId +
|
||||
",buyerAddressId=" + buyerAddressId +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
@ -1,12 +1,12 @@
|
||||
package com.heyu.api.data.entity.vv;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import com.lz.mybatis.plugin.annotations.AS;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Date;import java.util.Date;
|
||||
/**
|
||||
*购物车
|
||||
* @author quyixiao
|
||||
@ -77,6 +77,7 @@ private static final long serialVersionUID = 1L;
|
||||
public final static String gmt_pre_pay = CLASS_NAME + "gmt_pre_pay"; // 预支付时间
|
||||
public final static String gmt_close = CLASS_NAME + "gmt_close"; // 订单关闭时间
|
||||
public final static String prepay_id = CLASS_NAME + "prepay_id"; // 预支付id
|
||||
public final static String buyer_address_id = CLASS_NAME + "buyer_address_id"; // 买家地址id
|
||||
//
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@ -190,6 +191,8 @@ private static final long serialVersionUID = 1L;
|
||||
private Date gmtClose;
|
||||
//预支付id
|
||||
private String prepayId;
|
||||
//买家地址id
|
||||
private Long buyerAddressId;
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
@ -1030,6 +1033,21 @@ private static final long serialVersionUID = 1L;
|
||||
this.prepayId = prepayId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 买家地址id
|
||||
* @return
|
||||
*/
|
||||
public Long getBuyerAddressId() {
|
||||
return buyerAddressId;
|
||||
}
|
||||
/**
|
||||
* 买家地址id
|
||||
* @param buyerAddressId
|
||||
*/
|
||||
public void setBuyerAddressId(Long buyerAddressId) {
|
||||
this.buyerAddressId = buyerAddressId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "VvTradeOrderLineEntity{" +
|
||||
@ -1089,6 +1107,7 @@ private static final long serialVersionUID = 1L;
|
||||
",gmtPrePay=" + gmtPrePay +
|
||||
",gmtClose=" + gmtClose +
|
||||
",prepayId=" + prepayId +
|
||||
",buyerAddressId=" + buyerAddressId +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
@ -270,6 +270,14 @@ public class SanUtils {
|
||||
}
|
||||
|
||||
|
||||
public static <R> List<R> asList(R r) {
|
||||
List<R> result = new ArrayList<>();
|
||||
if(r != null){
|
||||
result.add(r);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 基本类型包装类解析
|
||||
*/
|
||||
|
||||
@ -49,7 +49,7 @@ public class MysqlMain_update {
|
||||
List<TablesBean> list = new ArrayList<TablesBean>();
|
||||
|
||||
list.add(new TablesBean("vv_trade_order_line"));
|
||||
|
||||
list.add(new TablesBean("vv_trade_order"));
|
||||
|
||||
|
||||
Map<String, String> map = MysqlUtil2ShowCreateTable.getComments();
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
package com.heyu.api.alibaba.request.mm.order;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class VVOrderDetailRequest {
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private Long tradeOrderId;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,37 @@
|
||||
package com.heyu.api.alibaba.request.mm.order.resp;
|
||||
|
||||
|
||||
import com.heyu.api.data.entity.vv.VvBuyerAddressEntity;
|
||||
import com.heyu.api.data.entity.vv.VvBuyerEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class VVOrderDetailResp {
|
||||
|
||||
|
||||
/***
|
||||
* 订单信息
|
||||
*/
|
||||
private VvTradeOrderEntity vvTradeOrderEntity;
|
||||
|
||||
|
||||
/***
|
||||
* 订单行信息
|
||||
*/
|
||||
private List<VVOrderListResp> vvTradeOrderLineEntityList;
|
||||
|
||||
|
||||
/***
|
||||
* 订单信息
|
||||
*/
|
||||
private VvBuyerEntity vvBuyerEntity;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,12 @@
|
||||
package com.heyu.api.service;
|
||||
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface VvTradeOrderConvertService {
|
||||
List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
|
||||
List<VvTradeOrderLineEntity> list) ;
|
||||
}
|
||||
@ -0,0 +1,96 @@
|
||||
package com.heyu.api.service.impl;
|
||||
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
|
||||
import com.heyu.api.data.dao.vv.VvPackageDao;
|
||||
import com.heyu.api.data.entity.vv.VvPackageEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||
import com.heyu.api.data.utils.SanUtils;
|
||||
import com.heyu.api.data.utils.StringUtils;
|
||||
import com.heyu.api.service.VvTradeOrderConvertService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class VvTradeOrderConvertServiceImpl extends VvTradeOrderConvertService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private VvPackageDao vvPackageDao;
|
||||
|
||||
|
||||
@Override
|
||||
public List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
|
||||
List<VvTradeOrderLineEntity> list) {
|
||||
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
||||
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
||||
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
|
||||
for (VvPackageEntity packageEntity : packageEntities) {
|
||||
vvPackageEntityMap.put(packageEntity.getTrackNumber(), packageEntity);
|
||||
}
|
||||
}
|
||||
|
||||
List<VVOrderListResp> vvOrderListResps = new ArrayList<>();
|
||||
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
|
||||
VVOrderListResp vvOrderListResp = new VVOrderListResp();
|
||||
BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp);
|
||||
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
|
||||
if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) {
|
||||
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* 订单行信息
|
||||
*/
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineList = new ArrayList<>();
|
||||
Map<String, PackageDTO> packageDTOMap = new HashMap();
|
||||
|
||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
|
||||
if (StringUtils.isNotBlank(tradeOrderLineEntity.getTrackNumber())) {
|
||||
PackageDTO packageDTO = packageDTOMap.get(tradeOrderLineEntity.getTrackNumber());
|
||||
|
||||
if (packageDTO == null) {
|
||||
VvPackageEntity vvPackage = vvPackageEntityMap.get(tradeOrderLineEntity.getTrackNumber());
|
||||
packageDTO = new PackageDTO();
|
||||
BeanUtils.copyProperties(vvPackage, packageDTO);
|
||||
}
|
||||
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitys = packageDTO.getVvTradeOrderLineEntityList();
|
||||
if (vvTradeOrderLineEntitys == null) {
|
||||
vvTradeOrderLineEntitys = new ArrayList<>();
|
||||
}
|
||||
vvTradeOrderLineEntitys.add(tradeOrderLineEntity);
|
||||
packageDTO.setVvTradeOrderLineEntityList(vvTradeOrderLineEntitys);
|
||||
|
||||
packageDTOMap.put(tradeOrderLineEntity.getTrackNumber(), packageDTO);
|
||||
|
||||
} else {
|
||||
vvTradeOrderLineList.add(tradeOrderLineEntity);
|
||||
}
|
||||
}
|
||||
|
||||
List<PackageDTO> packageList = new ArrayList<>();
|
||||
for (Map.Entry<String, PackageDTO> entry : packageDTOMap.entrySet()) {
|
||||
packageList.add(entry.getValue());
|
||||
}
|
||||
vvOrderListResp.setVvTradeOrderLineList(vvTradeOrderLineList);
|
||||
vvOrderListResp.setPackageList(packageList);
|
||||
vvOrderListResps.add(vvOrderListResp);
|
||||
}
|
||||
|
||||
|
||||
return vvOrderListResps;
|
||||
}
|
||||
}
|
||||
@ -6,25 +6,27 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.heyu.api.alibaba.request.mm.enums.OrderStatusEnums;
|
||||
import com.heyu.api.alibaba.request.mm.enums.ShippingTypeEnums;
|
||||
import com.heyu.api.alibaba.request.mm.order.*;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderDetailResp;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
|
||||
import com.heyu.api.data.utils.SanUtils;
|
||||
import com.heyu.api.data.dao.vv.*;
|
||||
import com.heyu.api.data.entity.vv.*;
|
||||
import com.heyu.api.data.utils.BigDecimalUtil;
|
||||
import com.heyu.api.data.utils.R;
|
||||
import com.heyu.api.data.utils.StringUtils;
|
||||
import com.heyu.api.data.utils.SanUtils;
|
||||
import com.heyu.api.service.VvTradeOrderConvertService;
|
||||
import com.heyu.api.utils.ISelect;
|
||||
import com.heyu.api.utils.PPageUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@ -52,6 +54,18 @@ public class AdminOrderController {
|
||||
@Autowired
|
||||
private VvTradeOrderLineSettlementProveDao vvTradeOrderLineSettlementProveDao;
|
||||
|
||||
|
||||
@Autowired
|
||||
private VvTradeOrderConvertService vvTradeOrderConvertService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private VvBuyerAddressDao vvBuyerAddressDao;
|
||||
|
||||
@Autowired
|
||||
private VvBuyerDao vvBuyerDao;
|
||||
|
||||
|
||||
/***
|
||||
* 列表
|
||||
*/
|
||||
@ -85,7 +99,6 @@ public class AdminOrderController {
|
||||
|
||||
// 获取子单
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = pageUtils.getRows();
|
||||
|
||||
// 获取订单
|
||||
List<Long> tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTradeOrderId);
|
||||
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
|
||||
@ -119,70 +132,36 @@ public class AdminOrderController {
|
||||
vvOrderRequest.getReverseStatus(),
|
||||
vvOrderRequest.getCreateTimestampSort());
|
||||
|
||||
|
||||
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
||||
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
||||
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
|
||||
for (VvPackageEntity packageEntity : packageEntities) {
|
||||
vvPackageEntityMap.put(packageEntity.getTrackNumber(), packageEntity);
|
||||
}
|
||||
}
|
||||
|
||||
List<VVOrderListResp> vvOrderListResps = new ArrayList<>();
|
||||
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
|
||||
VVOrderListResp vvOrderListResp = new VVOrderListResp();
|
||||
BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp);
|
||||
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
|
||||
if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) {
|
||||
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* 订单行信息
|
||||
*/
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineList = new ArrayList<>();
|
||||
Map<String, PackageDTO> packageDTOMap = new HashMap();
|
||||
|
||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
|
||||
if (StringUtils.isNotBlank(tradeOrderLineEntity.getTrackNumber())) {
|
||||
PackageDTO packageDTO = packageDTOMap.get(tradeOrderLineEntity.getTrackNumber());
|
||||
|
||||
if (packageDTO == null) {
|
||||
VvPackageEntity vvPackage = vvPackageEntityMap.get(tradeOrderLineEntity.getTrackNumber());
|
||||
packageDTO = new PackageDTO();
|
||||
BeanUtils.copyProperties(vvPackage, packageDTO);
|
||||
}
|
||||
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitys = packageDTO.getVvTradeOrderLineEntityList();
|
||||
if (vvTradeOrderLineEntitys == null) {
|
||||
vvTradeOrderLineEntitys = new ArrayList<>();
|
||||
}
|
||||
vvTradeOrderLineEntitys.add(tradeOrderLineEntity);
|
||||
packageDTO.setVvTradeOrderLineEntityList(vvTradeOrderLineEntitys);
|
||||
|
||||
packageDTOMap.put(tradeOrderLineEntity.getTrackNumber(), packageDTO);
|
||||
|
||||
} else {
|
||||
vvTradeOrderLineList.add(tradeOrderLineEntity);
|
||||
}
|
||||
}
|
||||
|
||||
List<PackageDTO> packageList = new ArrayList<>();
|
||||
for (Map.Entry<String, PackageDTO> entry : packageDTOMap.entrySet()) {
|
||||
packageList.add(entry.getValue());
|
||||
}
|
||||
vvOrderListResp.setVvTradeOrderLineList(vvTradeOrderLineList);
|
||||
vvOrderListResp.setPackageList(packageList);
|
||||
|
||||
vvOrderListResps.add(vvOrderListResp);
|
||||
}
|
||||
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities,list);
|
||||
return R.ok().setData(vvOrderListResps);
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* 订单详情
|
||||
*/
|
||||
@RequestMapping("/detail")
|
||||
public R detail(@RequestBody VVOrderDetailRequest request) {
|
||||
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao .selectVvTradeOrderById(request.getTradeOrderId());
|
||||
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(request.getTradeOrderId());
|
||||
|
||||
List<VvTradeOrderEntity> vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity);
|
||||
|
||||
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities,vvTradeOrderLineEntityList);
|
||||
|
||||
VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp();
|
||||
vvOrderDetailResp.setVvTradeOrderEntity(vvTradeOrderEntity);
|
||||
|
||||
vvOrderDetailResp.setVvTradeOrderLineEntityList(vvOrderListResps);
|
||||
VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvTradeOrderEntity.getBuyerId());
|
||||
vvOrderDetailResp.setVvBuyerEntity(vvBuyerEntity);
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***
|
||||
* 订单发货
|
||||
*/
|
||||
|
||||
@ -299,6 +299,7 @@ public class AppOrderController {
|
||||
vvTradeOrderLineEntity.setDistrict(vvBuyerAddress.getDistrict());
|
||||
vvTradeOrderLineEntity.setStatus(OrderStatusEnums.create.getStatus());
|
||||
vvTradeOrderLineEntity.setBuyerId(vvOrderRequest.getBuyerId());
|
||||
vvTradeOrderLineEntity.setBuyerAddressId(vvOrderRequest.getBuyerAddressId());
|
||||
vvTradeOrderLineEntityList.add(vvTradeOrderLineEntity);
|
||||
vvTradeOrderLineEntity.setBatchNum(vvTradeOrderLineDTO.getNum());
|
||||
}
|
||||
@ -324,7 +325,7 @@ public class AppOrderController {
|
||||
vvTradeOrderEntity.setBuyerId(vvOrderRequest.getBuyerId());
|
||||
vvTradeOrderEntity.setCreateTimestamp(System.currentTimeMillis());
|
||||
vvTradeOrderEntity.setModifyTimestamp(System.currentTimeMillis());
|
||||
|
||||
vvTradeOrderEntity.setBuyerAddressId(vvOrderRequest.getBuyerAddressId());
|
||||
|
||||
vvTradeOrderDao.insertVvTradeOrder(vvTradeOrderEntity);
|
||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user