소스 검색

管乐迷商城改造

zouxuan 1 년 전
부모
커밋
e1d7bbbfc3
1개의 변경된 파일15개의 추가작업 그리고 7개의 파일을 삭제
  1. 15 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SellOrderServiceImpl.java

+ 15 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SellOrderServiceImpl.java

@@ -254,14 +254,22 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
 
     @Override
     public List<OrderCreate.OrderItem> convertMallOrder(List<SellOrder> sellOrderList) {
+        //按组合商品分组
         List<OrderCreate.OrderItem> orderItems = new ArrayList<>();
-        for (SellOrder e : sellOrderList) {
-            OrderCreate.OrderItem orderItemCreate = new OrderCreate.OrderItem();
-            orderItemCreate.setProductQuantity(e.getNum());
-            orderItemCreate.setProductSkuId(e.getGoodsSkuId().longValue());
-            orderItemCreate.setRealAmount(e.getExpectAmount());
-            orderItems.add(orderItemCreate);
-        }
+        Map<Integer, List<SellOrder>> goodsIdSellOrderMap = sellOrderList.stream().collect(Collectors.groupingBy(SellOrder::getParentGoodsId));
+        goodsIdSellOrderMap.keySet().forEach(e -> {
+            List<SellOrder> sellOrders = goodsIdSellOrderMap.get(e);
+            //按sku分组
+            Map<Integer, List<SellOrder>> skuIdSellOrderMap = sellOrders.stream().collect(Collectors.groupingBy(SellOrder::getGoodsSkuId));
+            skuIdSellOrderMap.keySet().forEach(skuId -> {
+                List<SellOrder> orders = skuIdSellOrderMap.get(skuId);
+                OrderCreate.OrderItem orderItemCreate = new OrderCreate.OrderItem();
+                orderItemCreate.setProductQuantity(orders.size());
+                orderItemCreate.setProductSkuId(skuId.longValue());
+                orderItemCreate.setRealAmount(orders.get(0).getExpectAmount());
+                orderItems.add(orderItemCreate);
+            });
+        });
         return orderItems;
     }