From 740add0b62d86090d953ca0008163b988663ad65 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 22 Jul 2021 11:37:17 +0800
Subject: [PATCH] fix

---
 gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java |    2 ++
 gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml        |    5 +++++
 gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java    |   19 ++++++++++++++-----
 3 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
index ce5bcec..bf0c086 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
@@ -12,4 +12,6 @@
     List<JhyOrderItems> selectOrderItems(@Param("orderId") Long orderId);
 
     BigDecimal selectOrderScoreByOrderId(@Param("orderId") Long orderId);
+
+    int deleteItemsByOrderId(@Param("orderId") Long orderId);
 }
diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
index 9ed8d87..00c7482 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -183,14 +183,23 @@
             throw new RestException(-3, "不是集物员");
         }
 
+        jhyOrderItemsMapper.deleteItemsByOrderId(confirmDto.getOrderId());
+
         BigDecimal totalScore = BigDecimal.ZERO;
         for (JhyOrderConfirmItemsDto item : confirmDto.getItems()) {
-            JhyOrderItems orderItem = jhyOrderItemsMapper.selectByPrimaryKey(item.getId());
             BigDecimal weight = StrUtil.isNotBlank(item.getWeight()) ? new BigDecimal(item.getWeight()) : BigDecimal.ZERO;
-            BigDecimal total = orderItem.getPrice().multiply(BigDecimal.valueOf(40)).multiply(weight);
-            orderItem.setScore(total.setScale(0, BigDecimal.ROUND_DOWN).toString());
-            orderItem.setWeight(weight);
-            jhyOrderItemsMapper.updateByPrimaryKey(orderItem);
+            SysEnvironmentalInfo environmentalInfo = environmentalInfoMapper.selectByPrimaryKey(item.getId());
+
+            JhyOrderItems orderItems = new JhyOrderItems();
+            orderItems.setOrderId(confirmDto.getOrderId());
+            orderItems.setPicture(environmentalInfo.getPicture());
+            orderItems.setItemType(item.getId());
+            orderItems.setTitle(environmentalInfo.getTitle());
+            orderItems.setPrice(new BigDecimal(environmentalInfo.getPrice()));
+            BigDecimal total = orderItems.getPrice().multiply(BigDecimal.valueOf(40)).multiply(weight);
+            orderItems.setScore(total.setScale(0, BigDecimal.ROUND_DOWN).toString());
+            orderItems.setWeight(weight);
+            jhyOrderItemsMapper.insert(orderItems);
 
             totalScore = totalScore.add(total);
         }
diff --git a/gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml b/gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
index c94fc89..f6e200c 100644
--- a/gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
+++ b/gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
@@ -13,4 +13,9 @@
         where order_id=#{orderId}
         group by order_id
     </select>
+
+    <delete id="deleteItemsByOrderId">
+        delete from xzx_jhy_order_items
+        where order_id=#{orderId}
+    </delete>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1