提交修改

This commit is contained in:
quyixiao 2025-11-09 11:54:09 +08:00
parent 76ca0982bc
commit d041350040
10 changed files with 261 additions and 72 deletions

View File

@ -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 +
"}";
}
}

View File

@ -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 +
"}";
}
}

View File

@ -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;
}
/**
* 基本类型包装类解析
*/

View File

@ -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();

View File

@ -0,0 +1,18 @@
package com.heyu.api.alibaba.request.mm.order;
import lombok.Data;
@Data
public class VVOrderDetailRequest {
/**
* 订单id
*/
private Long tradeOrderId;
}

View File

@ -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;
}

View File

@ -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) ;
}

View File

@ -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;
}
}

View File

@ -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();
}
/***
* 订单发货
*/

View File

@ -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) {