From 9bcc40d213a44498c46dae5e678e592b918b40b0 Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期四, 30 五月 2024 18:33:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 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 78312f7..8413461 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
@@ -55,6 +55,12 @@
 import com.ruoyi.system.api.domain.Member;
 import com.ruoyi.system.api.domain.OrderAuctionBond;
 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.dto.*;
 import com.ruoyi.system.api.domain.vo.PayInfoVO;
 import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO;
@@ -62,6 +68,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.*;
@@ -70,6 +77,7 @@
 import org.apache.http.HttpResponse;
 import org.apache.http.util.EntityUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
 
@@ -582,6 +590,8 @@
     }
 
     @Override
+    @Transactional
+    @GlobalTransactional(rollbackFor = Exception.class)
     public void saveAuctionSalesroom(MgtAuctionSalesroomDTO dto) {
         Long id = dto.getId();
         AuctionSalesroom auctionSalesroom = BeanUtils.copyBean(dto, AuctionSalesroom.class);
@@ -612,6 +622,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);
@@ -626,6 +643,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