xdd 1 hete
szülő
commit
c05a2941ce

+ 1 - 1
fs-service-system/src/main/java/com/fs/live/mapper/LiveOrderItemMapper.java

@@ -78,7 +78,7 @@ public interface LiveOrderItemMapper {
             "</foreach>" +
             "</script>")
     @ResultMap("liveOrderItemVoMap")
-    Map<Long,List<LiveOrderItemVo>> selectLiveOrderItemByOrderIds(@Param("orderIds") List<Long> orderIds);
+    List<LiveOrderItemVo> selectLiveOrderItemByOrderIds(@Param("orderIds") List<Long> orderIds);
 
     int insertBatchList(@Param("liveOrderItemList") List<LiveOrderItem> liveOrderItemList);
 

+ 10 - 5
fs-service-system/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -753,8 +753,13 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
 
         Map<Long,LiveAfterSales> liveAfterSalesMap = liveAfterSalesMapper.findByOrderIds(allOrderIds);
 
-        Map<Long, List<LiveOrderItemVo>> liveOrderItemMaps = liveOrderItemMapper.selectLiveOrderItemByOrderIds(allOrderIds);
-
+        List<LiveOrderItemVo> liveOrderItemVosList = liveOrderItemMapper.selectLiveOrderItemByOrderIds(allOrderIds);
+        Map<Long, List<LiveOrderItemVo>> orderItemsMap = liveOrderItemVosList.stream()
+                .collect(Collectors.groupingBy(
+                        LiveOrderItemVo::getOrderId,
+                        LinkedHashMap::new,
+                        Collectors.toList()
+                ));
 
         for (LiveOrderListVo order : liveOrders) {
             FsStoreDelivers delivers = byOrderIdWithTypeBatch.get(order.getOrderId());
@@ -779,10 +784,10 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                 }
             }
 
-            if(ObjectUtil.isNotNull(liveOrderItemMaps)){
+            if(ObjectUtil.isNotNull(orderItemsMap)){
                 Long orderId = order.getOrderId();
-                List<LiveOrderItemVo> liveOrderItemVos = liveOrderItemMaps.get(orderId);
-                if(CollectionUtils.isEmpty(liveOrderItemVos)) {
+                List<LiveOrderItemVo> liveOrderItemVos = orderItemsMap.get(orderId);
+                if(CollectionUtils.isNotEmpty(liveOrderItemVos)) {
                     order.setOrderItemList(liveOrderItemVos);
                 }
             }