From 06a5f91f1d621cb331ccb41c4ae975b2a949fbbf Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 06 九月 2024 18:23:06 +0800
Subject: [PATCH] 修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java
index 97887c2..687bd4f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java
@@ -18,6 +18,7 @@
 import com.ruoyi.system.vo.TOrderStockVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
@@ -48,7 +49,10 @@
 //        dto.setStockTotalPrice(sum);
         this.save(dto);
         // 添加商品
-        orderStockGoods.forEach(orderSaleGoods1 -> orderSaleGoods1.setOrderId(dto.getId()));
+        orderStockGoods.forEach(orderSaleGoods1 -> {
+            orderSaleGoods1.setId(null);
+            orderSaleGoods1.setOrderId(dto.getId());
+        });
         tOrderStockGoodsService.saveBatch(orderStockGoods);
     }
 
@@ -62,7 +66,10 @@
         tOrderStockGoodsService.remove(Wrappers.lambdaQuery(TOrderStockGoods.class)
                 .eq(TOrderStockGoods::getOrderId,dto.getId()));
         // 添加商品
-        orderStockGoods.forEach(orderSaleGoods1 -> orderSaleGoods1.setOrderId(dto.getId()));
+        orderStockGoods.forEach(orderSaleGoods1 -> {
+            orderSaleGoods1.setId(null);
+            orderSaleGoods1.setOrderId(dto.getId());
+        });
         tOrderStockGoodsService.saveBatch(orderStockGoods);
     }
 
@@ -102,12 +109,17 @@
         List<TOrderStockVO> list = this.baseMapper.pageList(query,pageInfo);
         // 查询商品
         List<Long> orderIds = list.stream().map(TOrderStockVO::getId).collect(Collectors.toList());
-        List<TOrderStockGoods> orderStockGoods = tOrderStockGoodsService.list(Wrappers.lambdaQuery(TOrderStockGoods.class)
-                .in(TOrderStockGoods::getOrderId, orderIds));
-        list.forEach(orderSale -> {
-            List<TOrderStockGoods> collect = orderStockGoods.stream().filter(orderSaleGoods -> orderSaleGoods.getOrderId().equals(orderSale.getId())).collect(Collectors.toList());
-            orderSale.setOrderStockGoods(collect);
-        });
+        if(!CollectionUtils.isEmpty(orderIds)){
+            List<TOrderStockGoods> orderStockGoods = tOrderStockGoodsService.list(Wrappers.lambdaQuery(TOrderStockGoods.class)
+                    .in(TOrderStockGoods::getOrderId, orderIds));
+            list.forEach(orderSale -> {
+                List<TOrderStockGoods> collect = orderStockGoods.stream().filter(orderSaleGoods -> orderSaleGoods.getOrderId().equals(orderSale.getId())).collect(Collectors.toList());
+                if(!CollectionUtils.isEmpty(collect)){
+                    orderSale.setOrderStockGoods(collect);
+                    orderSale.setTotalPrice(collect.stream().map(TOrderStockGoods::getCostPrice).reduce(BigDecimal::add).get());
+                }
+            });
+        }
         pageInfo.setRecords(list);
         return pageInfo;
     }

--
Gitblit v1.7.1