From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 一月 2025 16:40:43 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsTotalServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsTotalServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsTotalServiceImpl.java index ddccaad..2a8e315 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsTotalServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsTotalServiceImpl.java @@ -5,7 +5,11 @@ import com.ruoyi.goods.domain.pojo.goods.GoodsTotal; import com.ruoyi.goods.mapper.goods.GoodsTotalMapper; import com.ruoyi.goods.service.goods.GoodsTotalService; +import com.ruoyi.system.api.domain.dto.GoodsTotalChangeDto; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; /** * <p> @@ -18,4 +22,50 @@ @Service public class GoodsTotalServiceImpl extends ServiceImpl<GoodsTotalMapper, GoodsTotal> implements GoodsTotalService { + + /** + * @description 更新商品统计 + * @author jqs + * @date 2023/7/23 18:25 + * @param goodsTotalChangeDtoList + * @return void + */ + @Override + public void changeGoodsTotal(List<GoodsTotalChangeDto> goodsTotalChangeDtoList){ + log.error("商品统计变动"+goodsTotalChangeDtoList.toString()); + if (goodsTotalChangeDtoList != null && !goodsTotalChangeDtoList.isEmpty()) { + // 创建一个空的GoodsTotal对象 + GoodsTotal goodsTotal; + // 创建一个空的GoodsTotal列表 + List<GoodsTotal> goodsTotalList = new ArrayList<>(); + // 遍历goodsTotalChangeDtoList列表 + for (GoodsTotalChangeDto goodsTotalChangeDto : goodsTotalChangeDtoList) { + // 根据goodsId获取对应的GoodsTotal对象 + goodsTotal = this.getById(goodsTotalChangeDto.getGoodsId()); + // 如果GoodsTotal对象不为空 + if (goodsTotal != null) { + // 根据changeType判断操作类型 + if (goodsTotalChangeDto.getChangeType() == 1) { + // 更新GoodsTotal对象的相关属性 + goodsTotal.setBuyCount(goodsTotal.getBuyCount() + 1); + goodsTotal.setBuyNumCount(goodsTotal.getBuyNumCount() + goodsTotalChangeDto.getChangeNum()); + goodsTotal.setBuyUserCount(goodsTotalChangeDto.getPersonNum()); + goodsTotal.setBuyMoneyTotal(goodsTotal.getBuyMoneyTotal().add(goodsTotalChangeDto.getMoney())); + } else { + // 更新GoodsTotal对象的相关属性 + goodsTotal.setBuyCount(goodsTotal.getBuyCount() - 1); + goodsTotal.setBuyNumCount(goodsTotal.getBuyNumCount() - goodsTotalChangeDto.getChangeNum()); + goodsTotal.setBuyUserCount(goodsTotalChangeDto.getPersonNum()); + goodsTotal.setBuyMoneyTotal(goodsTotal.getBuyMoneyTotal().subtract(goodsTotalChangeDto.getMoney())); + } + // 将更新后的GoodsTotal对象添加到列表中 + goodsTotalList.add(goodsTotal); + } + } + // 如果goodsTotalList列表不为空,则保存或更新列表中的GoodsTotal对象 + if (!goodsTotalList.isEmpty()) { + this.saveOrUpdateBatch(goodsTotalList); + } + } + } } -- Gitblit v1.7.1