diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPackageDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPackageDao.java index ba37a7f..69a1812 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPackageDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPackageDao.java @@ -10,7 +10,7 @@ package com.heyu.api.data.dao.vv; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.heyu.api.data.entity.vv.VvPackageEntity; -import com.lz.mybatis.plugin.annotations.IFNull; +import com.lz.mybatis.plugin.annotations.IFNullReturnEmptyList; import com.lz.mybatis.plugin.annotations.IN; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -39,5 +39,5 @@ public interface VvPackageDao extends BaseMapper { int deleteVvPackageById(@Param("id")Long id); - List selectVvPackageByTrackNumbers(@IFNull @IN List trackNumber); + List selectVvPackageByTrackNumbers(@IFNullReturnEmptyList @IN List trackNumber); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderDao.java index 50a0eb3..f38348a 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderDao.java @@ -66,5 +66,7 @@ public interface VvTradeOrderDao extends BaseMapper { void updateByBuerIdAndIds(String status,@By Long buyerId,@By List ids); + + List selectVvTradeOrderByTradeOrderIds(@IN List id); } \ No newline at end of file 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 ca0e5c4..7eb3e1b 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 @@ -113,4 +113,21 @@ public interface VvTradeOrderLineDao extends BaseMapper @IF @OrderBy(VvTradeOrderLineEntity.create_timestamp) String createTimestampSort); + + + + + @OrderBy(VvTradeOrderLineEntity.id_) + @GroupBy(VvTradeOrderLineEntity.trade_order_id) + List selectByAppCondition(IPage page, + @IF @IN List tradeOrderIds, + @IF String status, + @IF @GE @Column(VvTradeOrderLineEntity.create_timestamp) Long minCreateTimestamp, + @IF @LE @Column(VvTradeOrderLineEntity.create_timestamp) Long maxCreateTimestamp, + @IF @LIKE String productName, + @IF Long buyerId, + @IF String reverseStatus, + @IF @OrderBy(VvTradeOrderLineEntity.create_timestamp) String createTimestampSort); + + } \ No newline at end of file diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AppTradeOrderLineResp.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AppTradeOrderLineResp.java index 371a253..a6a2b2d 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AppTradeOrderLineResp.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/AppTradeOrderLineResp.java @@ -20,4 +20,8 @@ public class AppTradeOrderLineResp extends VvTradeOrderLineEntity { * */ private VvPackageEntity vvPackageEntity; + + + + } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java index 2acc082..12b2a1e 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java @@ -94,7 +94,6 @@ public class OrderController { - // 对订单进行排序,必须按照子单的顺序 Map vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId); List vvTradeOrderEntities = new ArrayList<>(); 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 36986cf..17db16e 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 @@ -7,16 +7,14 @@ import com.heyu.api.alibaba.request.mm.enums.OrderStatusEnums; import com.heyu.api.alibaba.request.mm.order.AppDeliveredDTO; import com.heyu.api.alibaba.request.mm.order.resp.*; import com.heyu.api.alibaba.request.vv.AppOrderRequest; -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.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; @@ -71,20 +69,12 @@ public class AppOrderController { .doSelect(new ISelect() { @Override public List doSelect(IPage page) { - return vvTradeOrderLineDao.selectByAdminCondition(page, + return vvTradeOrderLineDao.selectByAppCondition(page, vvOrderRequest.getTradeOrderIds(), - null, - null, - null, - null, - null, vvOrderRequest.getStatus(), - null, vvOrderRequest.getMinCreateTimestamp(), vvOrderRequest.getMaxCreateTimestamp(), vvOrderRequest.getProductName(), - null, - null, vvOrderRequest.getBuyerId(), vvOrderRequest.getReverseStatus(), vvOrderRequest.getCreateTimestampSort() @@ -95,7 +85,6 @@ public class AppOrderController { // 获取子单 List vvTradeOrderLineEntities = pageUtils.getRows(); - // 获取订单 List tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTradeOrderId); @@ -105,76 +94,28 @@ public class AppOrderController { Map vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId); - SanUtils.setNull(vvTradeOrderLineEntities, - VvTradeOrderLineEntity::getProfitAmount, - VvTradeOrderLineEntity::getModifyTime, - VvTradeOrderLineEntity::getIsDelete, - VvTradeOrderLineEntity::getCreateTime - ); - - - - List trackNumbers = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTrackNumber); - Map vvPackageEntityMap = new HashMap<>(); + List packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers); - if (CollectionUtils.isNotEmpty(trackNumbers)) { - List packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers); - vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber); - } + Map vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber); - List vvOrderListResps = new ArrayList<>(); + List vvOrderListResps = new ArrayList<>(); + + for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) { + AppTradeOrderLineResp appTradeOrderLineResp = new AppTradeOrderLineResp(); + BeanUtils.copyProperties(vvTradeOrderLineEntity, appTradeOrderLineResp); + VvPackageEntity packageDTO = vvPackageEntityMap.get(vvTradeOrderLineEntity.getTrackNumber()); - for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) { - VVOrderListResp vvOrderListResp = new VVOrderListResp(); - BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp); - List vvTradeOrderLineEntityList = new ArrayList<>(); + VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId()); - for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntities) { - if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) { - vvTradeOrderLineEntityList.add(tradeOrderLineEntity); - } - } - /*** - * 订单行信息 - */ - List vvTradeOrderLineList = new ArrayList<>(); - Map packageDTOMap = new HashMap(); + appTradeOrderLineResp.setVvPackageEntity(packageDTO); + appTradeOrderLineResp.setTradeOrderEntity(vvTradeOrderEntity); - 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 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 packageList = new ArrayList<>(); - for (Map.Entry entry : packageDTOMap.entrySet()) { - packageList.add(entry.getValue()); - } - - vvOrderListResp.setVvTradeOrderLineList(vvTradeOrderLineList); - vvOrderListResp.setPackageList(packageList); - vvOrderListResps.add(vvOrderListResp); + vvOrderListResps.add(appTradeOrderLineResp); } return R.ok().setData(vvOrderListResps); }