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/AuctionGoodsServiceImpl.java |   38 ++++++++++++++++++++++++++++----------
 1 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
index 1e05cbd..2352ce6 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO;
+import com.google.common.collect.Lists;
 import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO;
 import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery;
 import com.ruoyi.auction.controller.management.vo.AuctionBidRecordVO;
@@ -28,6 +29,15 @@
 import com.ruoyi.common.core.utils.page.PageDTO;
 import com.ruoyi.system.api.domain.AuctionGoods;
 import com.ruoyi.system.api.domain.dto.*;
+import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO;
+import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO;
+import com.ruoyi.system.api.domain.GoodsSku;
+import com.ruoyi.system.api.domain.Member;
+import com.ruoyi.system.api.domain.MemberAddress;
+import com.ruoyi.system.api.domain.OrderAuctionBond;
+import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
+import com.ruoyi.system.api.domain.dto.OrderDTO;
+import com.ruoyi.system.api.domain.dto.RefundDTO;
 import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO;
 import com.ruoyi.system.api.domain.vo.AuctionGoodsinfoVO;
 import com.ruoyi.system.api.feignClient.GoodsSkuClient;
@@ -108,8 +118,8 @@
     }
 
     @Override
-    @GlobalTransactional(rollbackFor = Exception.class)
     @Transactional
+    @GlobalTransactional(rollbackFor = Exception.class)
     public void saveAuctionGoods(AuctionGoodsDTO dto) {
         Long id = dto.getId();
         Long goodsSkuId = dto.getGoodsSkuId();
@@ -129,7 +139,11 @@
             }
             this.save(auctionGoods);
             // 扣减商品库存
-            goodsSkuClient.deductStock(goodsSkuId, dto.getAuctionStock(), SecurityConstants.INNER);
+            GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
+            goodsStockUpdDTO.setGoodsSkuId(goodsSkuId);
+            goodsStockUpdDTO.setAuctionStock(dto.getAuctionStock() * -1);
+            goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO),
+                    SecurityConstants.INNER);
         } else {
             // 编辑
             AuctionGoods auctionGoodsOrg = this.getById(id);
@@ -150,9 +164,6 @@
             if (goodsSku.getStock() + auctionGoodsOrg.getAuctionStock() < dto.getAuctionStock()) {
                 throw new ServiceException("商品库存不足");
             }
-            // 编辑商品时需要先回退商品库存,再扣减最新的商品库存
-            goodsSkuClient.returningStock(auctionGoodsOrg.getGoodsSkuId(),
-                    auctionGoodsOrg.getAuctionStock(), SecurityConstants.INNER);
             auctionGoodsOrg.setStartingPrice(dto.getStartingPrice());
             auctionGoodsOrg.setMinimumMarkupAmount(dto.getMinimumMarkupAmount());
             auctionGoodsOrg.setStartTime(dto.getStartTime());
@@ -164,9 +175,13 @@
             auctionGoodsOrg.setShareTitle(dto.getShareTitle());
             auctionGoodsOrg.setSharePic(dto.getSharePic());
             this.updateById(auctionGoodsOrg);
-            // 扣减库存
-            goodsSkuClient.deductStock(auctionGoodsOrg.getGoodsSkuId(),
-                    auctionGoodsOrg.getAuctionStock(), SecurityConstants.INNER);
+            // 更新商品库存
+            GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
+            goodsStockUpdDTO.setGoodsSkuId(goodsSkuId);
+            goodsStockUpdDTO.setAuctionStock(
+                    auctionGoodsOrg.getAuctionStock() - dto.getAuctionStock());
+            goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO),
+                    SecurityConstants.INNER);
         }
     }
 
@@ -253,8 +268,11 @@
                 orderClient.saveOrderOne(orderDTO, SecurityConstants.INNER);
             } else {
                 // 没有人出价,退回拍卖商品库存
-                goodsSkuClient.returningStock(auctionGoods.getGoodsSkuId(),
-                        auctionGoods.getAuctionStock(), SecurityConstants.INNER);
+                GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
+                goodsStockUpdDTO.setGoodsSkuId(auctionGoods.getGoodsSkuId());
+                goodsStockUpdDTO.setAuctionStock(auctionGoods.getAuctionStock());
+                goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO),
+                        SecurityConstants.INNER);
             }
             // 结束拍卖
             this.lambdaUpdate().set(AuctionGoods::getStartStatus, AuctionStartStatusEnum.ENDED)

--
Gitblit v1.7.1