提交修改

This commit is contained in:
quyixiao 2025-11-16 00:17:53 +08:00
parent 02140012bb
commit 829db74798
7 changed files with 28 additions and 107 deletions

View File

@ -152,7 +152,6 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
@OrderBy(VvTradeOrderLineEntity.id_) @OrderBy(VvTradeOrderLineEntity.id_)
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
@ExludeColumn({ @ExludeColumn({
VvTradeOrderLineEntity.profit_amount, VvTradeOrderLineEntity.profit_amount,
VvTradeOrderLineEntity.settle_status, VvTradeOrderLineEntity.settle_status,

View File

@ -4,25 +4,19 @@ import com.heyu.api.data.entity.vv.VvPackageEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderEntity; import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Data @Data
public class AppPackageDTO extends VvPackageEntity { public class AppPackageDTO extends VvPackageEntity {
/*** private List<VvTradeOrderLineDO> vvTradeOrderLineDOList = new ArrayList<>();
* 子单信息
*/
private List<VvTradeOrderLineDO> vvTradeOrderLineDOList;
/***
* 操作相关的信息
*/
private List<OrderActionDTO> orderActionList;
/***
* 订单信息
*/
private VvTradeOrderEntity vvTradeOrderEntity;
private List<OrderActionDTO> orderActionList;
private VvTradeOrderEntity tradeOrderEntity;
} }

View File

@ -16,9 +16,4 @@ public class VvTradeOrderLineDO extends VvTradeOrderLineEntity {
private List<Long> mergeIdList ; private List<Long> mergeIdList ;
/***
* 数据合并
*/
private List<BigDecimal> mergeSalePriceList ;
} }

View File

@ -1,16 +1,13 @@
package com.heyu.api.service; package com.heyu.api.service;
import com.heyu.api.alibaba.request.mm.order.VvTradeOrderLineTrackNumberDTO;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp; 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.VvTradeOrderEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import java.util.List; import java.util.List;
import java.util.Map;
public interface VvTradeOrderConvertService { public interface VvTradeOrderConvertService {
List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities, List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
List<VvTradeOrderLineEntity> list) ; List<VvTradeOrderLineEntity> list,boolean isApp) ;
Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytraderOrderIdSkuId(List<VvTradeOrderLineEntity> vvTradeOrderLineEntities);
} }

View File

@ -1,6 +1,5 @@
package com.heyu.api.service.impl; package com.heyu.api.service.impl;
import com.heyu.api.alibaba.request.mm.order.VvTradeOrderLineTrackNumberDTO;
import com.heyu.api.alibaba.request.mm.order.resp.AdminPackageDTO; import com.heyu.api.alibaba.request.mm.order.resp.AdminPackageDTO;
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO; import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp; import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
@ -10,13 +9,14 @@ import com.heyu.api.data.entity.vv.VvPackageEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderEntity; import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.utils.SanUtils; import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.data.utils.StringUtils;
import com.heyu.api.service.VvTradeOrderConvertService; import com.heyu.api.service.VvTradeOrderConvertService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service @Service
public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertService { public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertService {
@ -27,7 +27,7 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
@Override @Override
public List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities, public List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
List<VvTradeOrderLineEntity> list) { List<VvTradeOrderLineEntity> list,boolean isApp) {
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber); List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers); List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
Map<String, VvPackageEntity> vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber); Map<String, VvPackageEntity> vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber);
@ -64,9 +64,8 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
if(vvPackage != null){ if(vvPackage != null){
BeanUtils.copyProperties(vvPackage,adminPackageDTO); BeanUtils.copyProperties(vvPackage,adminPackageDTO);
} }
adminPackageDTO.setVvTradeOrderLineDOList(mergeTradeOrderLine); adminPackageDTO.setVvTradeOrderLineDOList(mergeTradeOrderLine);
List<OrderActionDTO> orderActionList = AbstractAction.getOrderActionDTO(mergeTradeOrderLine.get(0), false); List<OrderActionDTO> orderActionList = AbstractAction.getOrderActionDTO(mergeTradeOrderLine.get(0), isApp);
adminPackageDTO.setOrderActionList(orderActionList); adminPackageDTO.setOrderActionList(orderActionList);
packageList.add(adminPackageDTO); packageList.add(adminPackageDTO);
@ -77,31 +76,4 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
return vvOrderListResps; return vvOrderListResps;
} }
@Override
public Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytraderOrderIdSkuId(List<VvTradeOrderLineEntity> vvTradeOrderLineEntities) {
// 如果有tracknumber ,则以 trader_order_id_sku_id 分组 如果有trackNumber 则以 trader_order_id_track_number_sku_id 分组
Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytrader_order_id_sku_id = new LinkedHashMap<>();
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
Long tradeOrderId = vvTradeOrderLineEntity.getTradeOrderId();
Map<String, VvTradeOrderLineTrackNumberDTO> groupByTradeOrderIdTrackNumberSkudIdMap = groupBytrader_order_id_sku_id.get(tradeOrderId);
if (groupByTradeOrderIdTrackNumberSkudIdMap == null) {
groupByTradeOrderIdTrackNumberSkudIdMap = new HashMap<>();
}
String key = tradeOrderId + "_" + vvTradeOrderLineEntity.getSkuId();
if (StringUtils.isNotEmpty(vvTradeOrderLineEntity.getTrackNumber())) {
key = tradeOrderId + "_" + vvTradeOrderLineEntity.getTrackNumber() + "_" + vvTradeOrderLineEntity.getSkuId();
}
VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = groupByTradeOrderIdTrackNumberSkudIdMap.get(key);
if (vvTradeOrderLineTrackNumberDTO == null) {
vvTradeOrderLineTrackNumberDTO = new VvTradeOrderLineTrackNumberDTO();
}
vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities().add(vvTradeOrderLineEntity);
vvTradeOrderLineTrackNumberDTO.setTrackNumber(vvTradeOrderLineEntity.getTrackNumber());
groupByTradeOrderIdTrackNumberSkudIdMap.put(key, vvTradeOrderLineTrackNumberDTO);
groupBytrader_order_id_sku_id.put(tradeOrderId, groupByTradeOrderIdTrackNumberSkudIdMap);
}
return groupBytrader_order_id_sku_id;
}
} }

View File

@ -162,7 +162,7 @@ public class AdminOrderController {
vvOrderRequest.getModifyTimestampSort() vvOrderRequest.getModifyTimestampSort()
); );
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list); List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list,false);
return R.ok().setData(vvOrderListResps); return R.ok().setData(vvOrderListResps);
} }
@ -181,7 +181,7 @@ public class AdminOrderController {
List<VvTradeOrderEntity> vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity); List<VvTradeOrderEntity> vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity);
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList); List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList,false);
VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp(); VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp();
vvOrderDetailResp.setVvTradeOrderEntity(vvTradeOrderEntity); vvOrderDetailResp.setVvTradeOrderEntity(vvTradeOrderEntity);

View File

@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.mm.order.AppCloseDTO; import com.heyu.api.alibaba.request.mm.order.AppCloseDTO;
import com.heyu.api.alibaba.request.mm.order.AppDeliveredDTO; import com.heyu.api.alibaba.request.mm.order.AppDeliveredDTO;
import com.heyu.api.alibaba.request.mm.order.VvTradeOrderLineTrackNumberDTO;
import com.heyu.api.alibaba.request.mm.order.resp.*; import com.heyu.api.alibaba.request.mm.order.resp.*;
import com.heyu.api.alibaba.request.vv.AppOrderRequest; import com.heyu.api.alibaba.request.vv.AppOrderRequest;
import com.heyu.api.common.annotation.Describe; import com.heyu.api.common.annotation.Describe;
@ -26,6 +25,7 @@ import com.heyu.api.utils.PPageUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.MessageDeliveryMode; import org.springframework.amqp.core.MessageDeliveryMode;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -127,8 +127,6 @@ public class AppOrderController {
); );
} }
}); });
// 获取子单 // 获取子单
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitiesGroupByTradeOrderId = pageUtils.getRows(); List<VvTradeOrderLineEntity> vvTradeOrderLineEntitiesGroupByTradeOrderId = pageUtils.getRows();
// 获取订单 // 获取订单
@ -137,60 +135,26 @@ public class AppOrderController {
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds); List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
// 拿到所有的子订单 // 拿到所有的子订单
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectAppTradeOrderByTradeOrderIds(tradeOrderIds); List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectAppTradeOrderByTradeOrderIds(tradeOrderIds);
// 对订单进行排序必须按照子单的顺序
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
// 拿到所有的trackNumbers
List<String> trackNumbers = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTrackNumber);
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
Map<String, VvPackageEntity> vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber); List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, vvTradeOrderLineEntities, true);
List<AppPackageDTO> appPackageDTOList = new ArrayList<>();
for (VVOrderListResp vvOrderListResp : vvOrderListResps) {
VvTradeOrderEntity vvTradeOrderEntity = new VvTradeOrderEntity();
BeanUtils.copyProperties(vvOrderListResp, vvTradeOrderEntity);
Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytraderOrderIdSkuId = vvTradeOrderConvertService.groupBytraderOrderIdSkuId(vvTradeOrderLineEntities); if (CollectionUtils.isNotEmpty(vvOrderListResp.getPackageList())) {
for (AdminPackageDTO adminPackageDTO : vvOrderListResp.getPackageList()) {
AppPackageDTO appPackageDTO = new AppPackageDTO();
List<AppTradeOrderPackageDTO> appTradeOrderPackageDTOList = new ArrayList<>(); appPackageDTO.setVvTradeOrderLineDOList(adminPackageDTO.getVvTradeOrderLineDOList());
for (Long tradeOrderId : tradeOrderIds) { appPackageDTO.setOrderActionList(adminPackageDTO.getOrderActionList());
Map<String, VvTradeOrderLineTrackNumberDTO> stringVvTradeOrderLineTrackNumberDTOMap = groupBytraderOrderIdSkuId.get(tradeOrderId); appPackageDTO.setTradeOrderEntity(vvTradeOrderEntity);
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(tradeOrderId);
appPackageDTOList.add(appPackageDTO);
for (Map.Entry<String, VvTradeOrderLineTrackNumberDTO> mapEntry : stringVvTradeOrderLineTrackNumberDTOMap.entrySet()) {
AppTradeOrderPackageDTO appTradeOrderPackageDTO = new AppTradeOrderPackageDTO();
VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = mapEntry.getValue();
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities();
List<Long> tradeOrderLineIdList = SanUtils.getFieldList(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getId);
VvPackageEntity packageDTO = null;
VvTradeOrderLineEntity vvTradeOrderLine = SanUtils.merge(vvTradeOrderLineEntityList,
VvTradeOrderLineEntity::getSalePrice,
VvTradeOrderLineEntity::getPromotionPrice,
VvTradeOrderLineEntity::getNum
);
List<AppTradeOrderLineDTO> appTradeOrderLineDTOList = new ArrayList<>();
// for (VvTradeOrderLineEntity vvTradeOrderLine : vvTradeOrderLineEntityList) {
// AppTradeOrderLineDTO appTradeOrderLineResp = new AppTradeOrderLineDTO();
// BeanUtils.copyProperties(vvTradeOrderLine, appTradeOrderLineResp);
// appTradeOrderLineResp.setTradeOrderLineIdList(tradeOrderLineIdList);
// appTradeOrderLineDTOList.add(appTradeOrderLineResp);
// }
// 如果有tracknumber ,则以 trader_order_id_sku_id 分组 如果有trackNumber 则以 trader_order_id_track_number_sku_id 分组
if (StringUtils.isNotEmpty(vvTradeOrderLineTrackNumberDTO.getTrackNumber())) {
packageDTO = vvPackageEntityMap.get(vvTradeOrderLineTrackNumberDTO.getTrackNumber());
} }
appTradeOrderPackageDTO.setAppTradeOrderLineDTOList(appTradeOrderLineDTOList);
appTradeOrderPackageDTO.setVvPackageEntity(packageDTO);
appTradeOrderPackageDTO.setTradeOrderEntity(vvTradeOrderEntity);
appTradeOrderPackageDTOList.add(appTradeOrderPackageDTO);
} }
} }
return R.ok().setData(appTradeOrderPackageDTOList); return R.ok().setData(appPackageDTOList);
} }
/*** /***