From 3d83fe59399df5f7c80749841b8d26851c016c18 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 05 Sep 2022 16:16:41 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java               |    2 ++
 src/main/resources/mapper/modules/MallOrderItemMapper.xml                       |    5 +++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   17 +++++++++++++++++
 3 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
index 8e0e589..28ac651 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
@@ -13,4 +13,6 @@
     List<MallOrderItem> selectListByNotInStateAndOrderId(@Param("state")Integer i, @Param("orderId")Long orderId);
 
     void updateStateByOrderId(@Param("state")Integer i,  @Param("orderId")Long id);
+
+    List<MallOrderItem> selectListByOrderId(@Param("orderId")Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index fafe3d7..30deeb9 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -227,6 +227,23 @@
         orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
         orderInfo.setCancelType(MallOrderInfo.CANCEL_BY_SELF);
         this.baseMapper.updateById(orderInfo);
+        List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
+        if(CollUtil.isNotEmpty(mallOrderItemList)){
+            for(MallOrderItem mallOrderItem : mallOrderItemList){
+                Long goodsId = mallOrderItem.getGoodsId();
+                Long skuId = mallOrderItem.getSkuId();
+                Integer cnt = mallOrderItem.getCnt();
+                MallGoods mallGoods = mallGoodsMapper.selectById(goodsId);
+                mallGoods.setVolume(mallGoods.getVolume() - cnt);
+                mallGoods.setStock(mallGoods.getStock() + cnt);
+                mallGoodsMapper.updateById(mallGoods);
+
+                MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(skuId);
+                mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - cnt);
+                mallGoodsSku.setStock(mallGoodsSku.getStock() + cnt);
+                mallGoodsSkuMapper.updateById(mallGoodsSku);
+            }
+        }
     }
 
     /**
diff --git a/src/main/resources/mapper/modules/MallOrderItemMapper.xml b/src/main/resources/mapper/modules/MallOrderItemMapper.xml
index 05805ae..7cf7252 100644
--- a/src/main/resources/mapper/modules/MallOrderItemMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderItemMapper.xml
@@ -19,5 +19,10 @@
         where order_id = #{orderId}
     </update>
 
+    <select id="selectListByOrderId" resultType="cc.mrbird.febs.mall.entity.MallOrderItem">
+        select a.* from mall_order_item a
+        where a.order_id=#{orderId}
+    </select>
+
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1