From 269e239a677763fb16da6bc39ab649eaccf3c9c1 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 30 五月 2024 18:11:15 +0800 Subject: [PATCH] Merge branch 'dev-mitao' --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index 21cad4c..4fc5b74 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -57,6 +57,8 @@ import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; import com.ruoyi.system.api.domain.dto.BidDTO; +import com.ruoyi.system.api.domain.dto.BidVO; +import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; import com.ruoyi.system.api.domain.vo.PayInfoVO; @@ -64,6 +66,7 @@ import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.SysUserClient; +import io.seata.spring.annotation.GlobalTransactional; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; @@ -75,6 +78,7 @@ import org.apache.http.HttpResponse; import org.apache.http.util.EntityUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * <p> @@ -585,6 +589,8 @@ } @Override + @Transactional + @GlobalTransactional(rollbackFor = Exception.class) public void saveAuctionSalesroom(MgtAuctionSalesroomDTO dto) { Long id = dto.getId(); AuctionSalesroom auctionSalesroom = BeanUtils.copyBean(dto, AuctionSalesroom.class); @@ -615,6 +621,13 @@ auctionSalesroom.setAuctionSalesroomNo(nextId.toString()); // 添加 this.save(auctionSalesroom); + List<GoodsStockUpdDTO> goodsStockUpdDTOS = auctionSalesroomGoods.stream().map(item -> { + GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); + goodsStockUpdDTO.setGoodsSkuId(item.getGoodsSkuId()); + goodsStockUpdDTO.setAuctionStock(item.getSalesroomStock() * -1); + return goodsStockUpdDTO; + }).collect(Collectors.toList()); + goodsSkuClient.updGoodsStock(goodsStockUpdDTOS, SecurityConstants.INNER); } else { // 编辑 AuctionSalesroom auctionSalesroomOrg = this.getById(id); @@ -629,6 +642,23 @@ } auctionSalesroom.setId(auctionSalesroomOrg.getId()); this.updateById(auctionSalesroom); + List<AuctionSalesroomGoods> list = auctionSalesroomGoodsService.list( + Wrappers.<AuctionSalesroomGoods>lambdaQuery() + .eq(AuctionSalesroomGoods::getAuctionSalesroomId, id)); + // 封装库存修改实体 + List<GoodsStockUpdDTO> goodsStockUpdDTOS = list.stream() + .flatMap(salesroomGoods -> auctionSalesroomGoods.stream() + .filter(auctionSalesroomGood -> salesroomGoods.getId() + .equals(auctionSalesroomGood.getId())) + .map(auctionSalesroomGood -> { + GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); + goodsStockUpdDTO.setGoodsSkuId(salesroomGoods.getGoodsSkuId()); + goodsStockUpdDTO.setAuctionStock(salesroomGoods.getSalesroomStock() + - auctionSalesroomGood.getSalesroomStock()); + return goodsStockUpdDTO; + })) + .collect(Collectors.toList()); + goodsSkuClient.updGoodsStock(goodsStockUpdDTOS, SecurityConstants.INNER); // 移除原来地拍卖商品 auctionSalesroomGoodsService.remove(Wrappers.<AuctionSalesroomGoods>lambdaQuery() .eq(AuctionSalesroomGoods::getAuctionSalesroomId, id)); -- Gitblit v1.7.1