From 93004b6af39ba122c8cc74ed729ac7f44532b6e2 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 27 六月 2024 09:06:10 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 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 906c6da..676db97 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
@@ -66,7 +66,14 @@
 import io.seata.spring.annotation.GlobalTransactional;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
@@ -213,6 +220,15 @@
             if (goodsSku.getStock() + auctionGoodsOrg.getAuctionStock() < dto.getAuctionStock()) {
                 throw new ServiceException("商品库存不足");
             }
+            if (!auctionGoodsOrg.getAuctionStock().equals(dto.getAuctionStock())) {
+                // 更新商品库存
+                GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
+                goodsStockUpdDTO.setGoodsSkuId(goodsSkuId);
+                goodsStockUpdDTO.setAuctionStock(
+                        auctionGoodsOrg.getAuctionStock() - dto.getAuctionStock());
+                goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO),
+                        SecurityConstants.INNER);
+            }
             auctionGoodsOrg.setStartingPrice(dto.getStartingPrice());
             auctionGoodsOrg.setMinimumMarkupAmount(dto.getMinimumMarkupAmount());
             auctionGoodsOrg.setStartTime(dto.getStartTime());
@@ -224,15 +240,8 @@
             auctionGoodsOrg.setShareTitle(dto.getShareTitle());
             auctionGoodsOrg.setSharePic(dto.getSharePic());
             this.updateById(auctionGoodsOrg);
-            // 更新商品库存
-            GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
-            goodsStockUpdDTO.setGoodsSkuId(goodsSkuId);
-            goodsStockUpdDTO.setAuctionStock(
-                    auctionGoodsOrg.getAuctionStock() - dto.getAuctionStock());
-            goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO),
-                    SecurityConstants.INNER);
-            auctionAsyncMethodService.auctionGoodsScheduleTask(Lists.newArrayList(auctionGoods));
         }
+        auctionAsyncMethodService.auctionGoodsScheduleTask(Lists.newArrayList(auctionGoods));
     }
 
     /**
@@ -571,7 +580,7 @@
         memberAuctionSalesroomDTO.setMemberId(auctionGoodsListDTO.getMemberId());
         List<OrderAuctionBond> data = orderClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData();
         Set<Long> goodsSkuIdList = null;
-        if (data!=null){
+        if (data.size()>0){
             goodsSkuIdList = data.stream().map(OrderAuctionBond::getAuctionSalesroomId)
                     .collect(Collectors.toSet());
         }else {
@@ -640,7 +649,6 @@
                 .equals(AuctionStartStatusEnum.IN_AUCTION)) {
             auctionGoods.setStartStatus(AuctionStartStatusEnum.ENDED);
             this.updateById(auctionGoods);
-            // TODO 退保证金
             orderClient.returnBondByAuctionGoodsId(id, SecurityConstants.INNER);
 
             Map<String, Object> map = new ConcurrentHashMap<>();

--
Gitblit v1.7.1