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