From 03ea0fc5754a5d37d9c5f6e872f5798054360303 Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期三, 03 七月 2024 08:39:46 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java |   64 ++++++++++++++++---------------
 1 files changed, 33 insertions(+), 31 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 61a8075..e6aab42 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
@@ -451,7 +451,7 @@
             forepartAuctionSalesroomGoodsVO.setCoverPic(goodsSku.getCoverPic());
             forepartAuctionSalesroomGoodsVO.setStartingPrice(salesroomGoods.getStartingPrice());
             forepartAuctionSalesroomGoodsVO.setSalesroomStock(salesroomGoods.getSalesroomStock());
-            forepartAuctionSalesroomGoodsVO.setGoodsSkustatus(salesroomGoods.getStatus());
+            forepartAuctionSalesroomGoodsVO.setGoodsSkustatus(salesroomGoods.getStatus().getCode());
             forepartAuctionSalesroomGoodsVO.setYears(String.valueOf(goodsSku.getYears()));
             forepartAuctionSalesroomGoodsVO.setSpec(goodsSku.getSpec());
             forepartAuctionSalesroomGoodsVO.setSpecUnit(goodsSku.getSpecUnit());
@@ -679,48 +679,50 @@
                 throw new ServiceException("出价不能比每次最少加价低");
             }
             LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
-        /*    wrapper1.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId());*/
             wrapper1.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId());
             wrapper1.eq(AuctionBidRecord::getDelFlag,0);
             wrapper1.orderByDesc(AuctionBidRecord::getLastBidAmount);
             wrapper1.last("limit 1");
             AuctionBidRecord one = auctionBidRecordService.getOne(wrapper1);
-            if (one!=null){
-                BigDecimal bigDecimal1=one.getLastBidAmount().add(byId.getMinimumMarkupAmount());
-                if (bigDecimal1.doubleValue()>bidVO.getLastBidAmount().doubleValue()){
-                    throw new ServiceException("出价不能比上次出价加每次最少加价低");
+            if (byId.getAuctionStock()==1) {
+                if (one != null) {
+                    BigDecimal bigDecimal1 = one.getLastBidAmount().add(byId.getMinimumMarkupAmount());
+                    if (bigDecimal1.doubleValue() > bidVO.getLastBidAmount().doubleValue()) {
+                        throw new ServiceException("出价不能比上次出价加每次最少加价低");
+                    }
+
                 }
-                one.setLastBidAmount(bidVO.getLastBidAmount());
-                one.setLastBidTime(LocalDateTime.now());
-                one.setBidCount(one.getBidCount()+1);
-                auctionBidRecordService.updateById(one);
-
-
-            }else{
-                one=new AuctionBidRecord();
-                one.setAuctionSalesroomId(bidVO.getAuctionSalesroomId());
-                one.setTargetId(bidVO.getTargetId());
-                one.setMemberId(bidVO.getMemberId());
-                one.setLastBidTime(LocalDateTime.now());
-                one.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS);
-                one.setStatus(BidStatusEnum.ELIMINATE);
-                one.setBidCount(1);
-                one.setLastBidAmount(bidVO.getLastBidAmount());
-                auctionBidRecordService.save(one);
             }
-
-            LambdaQueryWrapper<AuctionBidRecord> wrapper2=Wrappers.lambdaQuery();
-            wrapper2.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId());
-            wrapper2.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId());
-            wrapper2.eq(AuctionBidRecord::getDelFlag,0);
-            wrapper2.orderByDesc(AuctionBidRecord::getLastBidAmount);
-            AuctionBidRecord one2 = auctionBidRecordService.getOne(wrapper1);
+            LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery();
+            wrapper3.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId());
+            wrapper3.eq(AuctionBidRecord::getDelFlag,0);
+            wrapper3.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId());
+            wrapper3.orderByDesc(AuctionBidRecord::getLastBidAmount);
+            wrapper3.last("limit 1");
+            AuctionBidRecord one3 = auctionBidRecordService.getOne(wrapper3);
+                if (one3!=null){
+                    one3.setLastBidAmount(bidVO.getLastBidAmount());
+                    one3.setLastBidTime(LocalDateTime.now());
+                    one3.setBidCount(one.getBidCount()+1);
+                    auctionBidRecordService.updateById(one3);
+                }else{
+                    one3=new AuctionBidRecord();
+                    one3.setAuctionSalesroomId(bidVO.getAuctionSalesroomId());
+                    one3.setTargetId(bidVO.getTargetId());
+                    one3.setMemberId(bidVO.getMemberId());
+                    one3.setLastBidTime(LocalDateTime.now());
+                    one3.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS);
+                    one3.setStatus(BidStatusEnum.ELIMINATE);
+                    one3.setBidCount(1);
+                    one3.setLastBidAmount(bidVO.getLastBidAmount());
+                    auctionBidRecordService.save(one3);
+                }
 
             Map<String, Object> map = new ConcurrentHashMap<>();
             map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM);
             map.put("auctionSalesroomId", byId.getId());
             map.put("byId", byId.getStartStatus());
-            map.put("lastBidAmount",one2.getLastBidAmount());
+            map.put("lastBidAmount",one.getLastBidAmount());
             map.put("message_type", "BidRecor");
             map.put("type",4);
             String msg = null;

--
Gitblit v1.7.1