From c6889419ea24a8df72b654f30b3851f1172e3499 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 30 四月 2024 23:49:44 +0800 Subject: [PATCH] bug修复 --- meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallOrderController.java | 57 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 42 insertions(+), 15 deletions(-) diff --git a/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallOrderController.java b/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallOrderController.java index e6b50bc..0039f69 100644 --- a/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallOrderController.java +++ b/meiya-admin/src/main/java/com/sinata/modular/mall/controller/MallOrderController.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.enums.SqlLike; import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.EntityWrapper; @@ -38,6 +39,7 @@ import com.sinata.modular.system.service.IRoleService; import java.util.Map; import java.util.Set; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; @@ -62,6 +64,7 @@ * * @author goku */ +@Slf4j @Controller @RequestMapping("/mallOrder") public class MallOrderController extends BaseController { @@ -527,24 +530,48 @@ ); order.setRefundPrice(refundPrice); order.setRefundTime(new Date()); + //退回库存 + List<MallOrderDetail> orderDetailList = this.mallOrderDetailService.selectList(new EntityWrapper<MallOrderDetail>().eq("order_no", orderNo)); + log.info("----------------------------处理退款回退库存--------------------------"); + log.info("orderDetailList:{}", JSON.toJSONString(orderDetailList)); + if (CollectionUtils.isNotEmpty(orderDetailList)) { + Map<Integer, MallOrderDetail> orderDetailMap = orderDetailList.stream() + .collect(Collectors.toMap(MallOrderDetail::getSkuId, e -> e)); + Set<Integer> skuIdList = orderDetailList.stream().map(MallOrderDetail::getSkuId) + .collect(Collectors.toSet()); + List<MallGoodsSku> skuList = mallGoodsSkuService.selectList( + new EntityWrapper<MallGoodsSku>().in("id", skuIdList)); + for (MallGoodsSku mallGoodsSku : skuList) { + MallOrderDetail mallOrderDetail = orderDetailMap.get(mallGoodsSku.getId()); + mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderDetail.getGoodsNum()); + mallGoodsSkuService.updateById(mallGoodsSku); + } + //退销量 + Set<Integer> goodsIdList = orderDetailList.stream().map(MallOrderDetail::getGoodsId) + .collect(Collectors.toSet()); + Wrapper<MallGoods> wrapper = new EntityWrapper<MallGoods>().in("id", goodsIdList); + List<MallGoods> mallGoods = mallGoodsService.selectList(wrapper); + Map<Integer, MallOrderDetail> orderDetailMap2 = orderDetailList.stream() + .collect(Collectors.toMap(MallOrderDetail::getGoodsId, e -> e)); + if (CollectionUtils.isNotEmpty(mallGoods)) { + for (MallGoods mallGoods1 : mallGoods) { + MallOrderDetail mallOrderDetail1 = orderDetailMap2.get(mallGoods1.getId()); + if (Objects.nonNull(mallOrderDetail1)) { + log.info("----------------------------处理退款回退销量--------------------------"); + log.info("mallGoods1:{}", JSON.toJSONString(mallGoods1)); + mallGoods1.setBuyCount(mallGoods1.getBuyCount() - mallOrderDetail1.getGoodsNum()); + mallGoodsService.updateById(mallGoods1); + } + } + } + + } + + } this.mallOrderService.updateById(order); - //退回库存 - List<MallOrderDetail> orderDetailList = this.mallOrderDetailService.selectList(new EntityWrapper<MallOrderDetail>().eq("order_no", orderNo)); - if (CollectionUtils.isNotEmpty(orderDetailList)) { - Map<Integer, MallOrderDetail> orderDetailMap = orderDetailList.stream() - .collect(Collectors.toMap(MallOrderDetail::getSkuId, e -> e)); - Set<Integer> skuIdList = orderDetailList.stream().map(MallOrderDetail::getSkuId) - .collect(Collectors.toSet()); - List<MallGoodsSku> skuList = mallGoodsSkuService.selectList( - new EntityWrapper<MallGoodsSku>().in("id", skuIdList)); - for (MallGoodsSku mallGoodsSku : skuList) { - MallOrderDetail mallOrderDetail = orderDetailMap.get(mallGoodsSku.getId()); - mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderDetail.getGoodsNum()); - mallGoodsSkuService.updateById(mallGoodsSku); - } - } + return SUCCESS_TIP; } } -- Gitblit v1.7.1