diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java index e154831..9cbce30 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java @@ -152,7 +152,6 @@ public interface VvTradeOrderLineDao extends BaseMapper @OrderBy(VvTradeOrderLineEntity.id_) - @GroupBy(VvTradeOrderLineEntity.trade_order_id) @ExludeColumn({ VvTradeOrderLineEntity.profit_amount, VvTradeOrderLineEntity.settle_status, diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AppPackageDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AppPackageDTO.java index 3ef7c31..271bc1d 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AppPackageDTO.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AppPackageDTO.java @@ -4,25 +4,19 @@ import com.heyu.api.data.entity.vv.VvPackageEntity; import com.heyu.api.data.entity.vv.VvTradeOrderEntity; import lombok.Data; +import java.util.ArrayList; import java.util.List; @Data public class AppPackageDTO extends VvPackageEntity { - /*** - * 子单信息 - */ - private List vvTradeOrderLineDOList; + private List vvTradeOrderLineDOList = new ArrayList<>(); - /*** - * 操作相关的信息 - */ - private List orderActionList; - /*** - * 订单信息 - */ - private VvTradeOrderEntity vvTradeOrderEntity; + private List orderActionList; + + + private VvTradeOrderEntity tradeOrderEntity; } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderLineDO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderLineDO.java index 90e6a17..c7212f5 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderLineDO.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderLineDO.java @@ -16,9 +16,4 @@ public class VvTradeOrderLineDO extends VvTradeOrderLineEntity { private List mergeIdList ; - /*** - * 数据合并 - */ - private List mergeSalePriceList ; - } diff --git a/api-third/src/main/java/com/heyu/api/service/VvTradeOrderConvertService.java b/api-third/src/main/java/com/heyu/api/service/VvTradeOrderConvertService.java index 7f7a073..49a2a5c 100644 --- a/api-third/src/main/java/com/heyu/api/service/VvTradeOrderConvertService.java +++ b/api-third/src/main/java/com/heyu/api/service/VvTradeOrderConvertService.java @@ -1,16 +1,13 @@ 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.data.entity.vv.VvTradeOrderEntity; import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; import java.util.List; -import java.util.Map; public interface VvTradeOrderConvertService { List convertTradeOrderLineResp(List vvTradeOrderEntities, - List list) ; + List list,boolean isApp) ; - Map> groupBytraderOrderIdSkuId(List vvTradeOrderLineEntities); } diff --git a/api-third/src/main/java/com/heyu/api/service/impl/VvTradeOrderConvertServiceImpl.java b/api-third/src/main/java/com/heyu/api/service/impl/VvTradeOrderConvertServiceImpl.java index f07a6c0..1588f62 100644 --- a/api-third/src/main/java/com/heyu/api/service/impl/VvTradeOrderConvertServiceImpl.java +++ b/api-third/src/main/java/com/heyu/api/service/impl/VvTradeOrderConvertServiceImpl.java @@ -1,6 +1,5 @@ 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.OrderActionDTO; 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.VvTradeOrderLineEntity; import com.heyu.api.data.utils.SanUtils; -import com.heyu.api.data.utils.StringUtils; import com.heyu.api.service.VvTradeOrderConvertService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; @Service public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertService { @@ -27,7 +27,7 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic @Override public List convertTradeOrderLineResp(List vvTradeOrderEntities, - List list) { + List list,boolean isApp) { List trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber); List packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers); Map vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber); @@ -64,9 +64,8 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic if(vvPackage != null){ BeanUtils.copyProperties(vvPackage,adminPackageDTO); } - adminPackageDTO.setVvTradeOrderLineDOList(mergeTradeOrderLine); - List orderActionList = AbstractAction.getOrderActionDTO(mergeTradeOrderLine.get(0), false); + List orderActionList = AbstractAction.getOrderActionDTO(mergeTradeOrderLine.get(0), isApp); adminPackageDTO.setOrderActionList(orderActionList); packageList.add(adminPackageDTO); @@ -77,31 +76,4 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic return vvOrderListResps; } - @Override - public Map> groupBytraderOrderIdSkuId(List vvTradeOrderLineEntities) { - // 如果有tracknumber ,则以 trader_order_id_sku_id 分组, 如果有trackNumber ,则以 trader_order_id_track_number_sku_id 分组 - Map> groupBytrader_order_id_sku_id = new LinkedHashMap<>(); - for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) { - Long tradeOrderId = vvTradeOrderLineEntity.getTradeOrderId(); - Map 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; - } } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminOrderController.java index 70a471c..e915fbf 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminOrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminOrderController.java @@ -162,7 +162,7 @@ public class AdminOrderController { vvOrderRequest.getModifyTimestampSort() ); - List vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list); + List vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list,false); return R.ok().setData(vvOrderListResps); } @@ -181,7 +181,7 @@ public class AdminOrderController { List vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity); - List vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList); + List vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList,false); VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp(); vvOrderDetailResp.setVvTradeOrderEntity(vvTradeOrderEntity); diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java index 108b958..5cb33ba 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java @@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; 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.VvTradeOrderLineTrackNumberDTO; import com.heyu.api.alibaba.request.mm.order.resp.*; import com.heyu.api.alibaba.request.vv.AppOrderRequest; import com.heyu.api.common.annotation.Describe; @@ -26,6 +25,7 @@ import com.heyu.api.utils.PPageUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.MessageDeliveryMode; 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.Value; import org.springframework.web.bind.annotation.RequestBody; @@ -127,8 +127,6 @@ public class AppOrderController { ); } }); - - // 获取子单 List vvTradeOrderLineEntitiesGroupByTradeOrderId = pageUtils.getRows(); // 获取订单 @@ -137,60 +135,26 @@ public class AppOrderController { List tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds); // 拿到所有的子订单 List vvTradeOrderLineEntities = vvTradeOrderLineDao.selectAppTradeOrderByTradeOrderIds(tradeOrderIds); - // 对订单进行排序,必须按照子单的顺序 - Map vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId); - // 拿到所有的trackNumbers - List trackNumbers = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTrackNumber); - List packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers); - Map vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber); + List vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, vvTradeOrderLineEntities, true); + List appPackageDTOList = new ArrayList<>(); + for (VVOrderListResp vvOrderListResp : vvOrderListResps) { + VvTradeOrderEntity vvTradeOrderEntity = new VvTradeOrderEntity(); + BeanUtils.copyProperties(vvOrderListResp, vvTradeOrderEntity); - Map> groupBytraderOrderIdSkuId = vvTradeOrderConvertService.groupBytraderOrderIdSkuId(vvTradeOrderLineEntities); + if (CollectionUtils.isNotEmpty(vvOrderListResp.getPackageList())) { + for (AdminPackageDTO adminPackageDTO : vvOrderListResp.getPackageList()) { + AppPackageDTO appPackageDTO = new AppPackageDTO(); - List appTradeOrderPackageDTOList = new ArrayList<>(); - for (Long tradeOrderId : tradeOrderIds) { - Map stringVvTradeOrderLineTrackNumberDTOMap = groupBytraderOrderIdSkuId.get(tradeOrderId); - VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(tradeOrderId); + appPackageDTO.setVvTradeOrderLineDOList(adminPackageDTO.getVvTradeOrderLineDOList()); + appPackageDTO.setOrderActionList(adminPackageDTO.getOrderActionList()); + appPackageDTO.setTradeOrderEntity(vvTradeOrderEntity); - - for (Map.Entry mapEntry : stringVvTradeOrderLineTrackNumberDTOMap.entrySet()) { - AppTradeOrderPackageDTO appTradeOrderPackageDTO = new AppTradeOrderPackageDTO(); - VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = mapEntry.getValue(); - List vvTradeOrderLineEntityList = vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities(); - List tradeOrderLineIdList = SanUtils.getFieldList(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getId); - VvPackageEntity packageDTO = null; - - VvTradeOrderLineEntity vvTradeOrderLine = SanUtils.merge(vvTradeOrderLineEntityList, - VvTradeOrderLineEntity::getSalePrice, - VvTradeOrderLineEntity::getPromotionPrice, - VvTradeOrderLineEntity::getNum - ); - - List 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()); + appPackageDTOList.add(appPackageDTO); } - - appTradeOrderPackageDTO.setAppTradeOrderLineDTOList(appTradeOrderLineDTOList); - - appTradeOrderPackageDTO.setVvPackageEntity(packageDTO); - - appTradeOrderPackageDTO.setTradeOrderEntity(vvTradeOrderEntity); - - appTradeOrderPackageDTOList.add(appTradeOrderPackageDTO); } - } - return R.ok().setData(appTradeOrderPackageDTOList); + return R.ok().setData(appPackageDTOList); } /***