فهرست منبع

增加票包信息

chunping 3 سال پیش
والد
کامیت
c79345e666
1فایلهای تغییر یافته به همراه30 افزوده شده و 5 حذف شده
  1. 30 5
      mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelOrderController.java

+ 30 - 5
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelOrderController.java

@@ -5,6 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.qs.mp.admin.domain.TicketBox;
 import com.qs.mp.admin.service.ITicketBoxService;
 import com.qs.mp.channel.domain.Channel;
+import com.qs.mp.channel.domain.ChannelOrderDetail;
+import com.qs.mp.channel.domain.vo.ChannelOrderInfoVO;
+import com.qs.mp.channel.domain.vo.ChannelOrderItemVO;
+import com.qs.mp.channel.service.IChannelOrderDetailService;
+import com.qs.mp.common.domain.DeliveryCompany;
 import com.qs.mp.common.service.IDeliveryCompanyService;
 import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.system.domain.SysUser;
@@ -84,6 +89,9 @@ public class ChannelOrderController extends BaseApiController {
   @Autowired
   private IDeliveryCompanyService deliveryCompanyService;
 
+  @Autowired
+  private IChannelOrderDetailService channelOrderDetailService;
+
   @Autowired
   private ISysUserService sysUserService;
 
@@ -124,12 +132,29 @@ public class ChannelOrderController extends BaseApiController {
     Long channelId = SecurityUtils.getLoginUser().getChannelId();
     ChannelOrder channelOrder = channelOrderService.getOne(new LambdaQueryWrapper<ChannelOrder>()
         .eq(ChannelOrder::getOrderId, order.getOrderId()).eq(ChannelOrder::getChannelId, channelId));
-    ChannelOrderVO channelOrderVO = mapperFacade.map(channelOrder, ChannelOrderVO.class);
-    channelOrderVO.setItems(channelOrderItemService.list(new LambdaQueryWrapper<ChannelOrderItem>()
-        .eq(ChannelOrderItem::getOrderId, channelOrderVO.getOrderId())));
-    if (null != channelOrder.getDeliveryId() && 0 != channelOrder.getDeliveryId()) {
-      channelOrderVO.setCompanyName(deliveryCompanyService.getById(channelOrder.getDeliveryId()).getCompanyName());
+    ChannelOrderInfoVO channelOrderVO = mapperFacade.map(channelOrder, ChannelOrderInfoVO.class);
+
+    if(null != channelOrderVO && null != channelOrderVO.getDeliveryId()) {
+      DeliveryCompany deliveryCompany = deliveryCompanyService.getById(channelOrderVO.getDeliveryId());
+      channelOrderVO.setDeliveryCompany(deliveryCompany);
+    }
+    List<ChannelOrderItem> itemList = channelOrderItemService.list(new LambdaQueryWrapper<ChannelOrderItem>()
+        .eq(ChannelOrderItem::getOrderId, channelOrderVO.getOrderId()));
+
+    List<ChannelOrderItemVO> itemVOList = mapperFacade.mapAsList(itemList, ChannelOrderItemVO.class);
+    if(null != itemVOList && itemVOList.size() > 0) {
+      for(ChannelOrderItemVO itemVO : itemVOList) {
+        if(null != itemVO && org.apache.commons.lang3.StringUtils.isNotBlank(itemVO.getBoxId())
+            && org.apache.commons.lang3.StringUtils.isNotBlank(itemVO.getOrderId())) {
+          LambdaQueryWrapper<ChannelOrderDetail> detailQueryWrapper = new LambdaQueryWrapper<ChannelOrderDetail>();
+          detailQueryWrapper.eq(ChannelOrderDetail::getOrderId, itemVO.getOrderId());
+          detailQueryWrapper.eq(ChannelOrderDetail::getBoxId, itemVO.getBoxId());
+          List<ChannelOrderDetail> detailList = channelOrderDetailService.list(detailQueryWrapper);
+          itemVO.setDetailList(detailList);
+        }
+      }
     }
+    channelOrderVO.setItems(itemVOList);
     return AjaxResult.success(channelOrderVO);
   }