From 95639988ed630dae4b2461b5f6c3ccb6d9af8d86 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 18 七月 2024 23:46:36 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java |  104 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 75 insertions(+), 29 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 29c9a1a..63bc930 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
@@ -53,6 +53,7 @@
 import com.ruoyi.common.core.utils.page.Checker;
 import com.ruoyi.common.core.utils.page.CollUtils;
 import com.ruoyi.common.core.utils.page.PageDTO;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.api.RemoteFileService;
 import com.ruoyi.system.api.constants.NotificationTypeConstant;
 import com.ruoyi.system.api.domain.AppMiniLoginVO;
@@ -240,9 +241,13 @@
         if (sysUser==null){
             throw new ServiceException("手机号未注册");
         }
-    /*   if (!SecurityUtils.matchesPassword(arepartAuctionBidRecordDTO.getPassword(), sysUser.getPassword())){
+        if (sysUser.getStatus().equals(1)){
+            throw new ServiceException("该拍卖师账号停用");
+        }
+
+      if (!SecurityUtils.matchesPassword(arepartAuctionBidRecordDTO.getPassword(), sysUser.getPassword())){
             throw new ServiceException("密码输入错误");
-        }*/
+        }
 
         LambdaQueryWrapper<AuctionSalesroom> wrapper=Wrappers.lambdaQuery();
         wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,arepartAuctionBidRecordDTO.getAuctionSalesroomQrcode());
@@ -423,6 +428,7 @@
         memberAuctionSalesroomInfoVO.setAuthentication(byId.getAuthentication());
         memberAuctionSalesroomInfoVO.setEndTime(byId.getEndTime());
         memberAuctionSalesroomInfoVO.setSalesroomName(byId.getSalesroomName());
+        memberAuctionSalesroomInfoVO.setEndTime(byId.getEndTime());
         memberAuctionSalesroomInfoVO.setType(byId.getType());
         memberAuctionSalesroomInfoVO.setDescription(byId.getDescription());
         memberAuctionSalesroomInfoVO.setSharePic(byId.getSharePic());
@@ -453,7 +459,10 @@
             forepartAuctionSalesroomGoodsVO.setStartingPrice(salesroomGoods.getStartingPrice());
             forepartAuctionSalesroomGoodsVO.setSalesroomStock(salesroomGoods.getSalesroomStock());
             forepartAuctionSalesroomGoodsVO.setGoodsSkustatus(salesroomGoods.getStatus().getCode());
+            forepartAuctionSalesroomGoodsVO.setMinimumMarkupAmount(salesroomGoods.getMinimumMarkupAmount());
+            forepartAuctionSalesroomGoodsVO.setStartTime(salesroomGoods.getStartTime());
             forepartAuctionSalesroomGoodsVO.setYears(String.valueOf(goodsSku.getYears()));
+            forepartAuctionSalesroomGoodsVO.setListingDuration(salesroomGoods.getListingDuration());
             forepartAuctionSalesroomGoodsVO.setSpec(goodsSku.getSpec());
             forepartAuctionSalesroomGoodsVO.setSpecUnit(goodsSku.getSpecUnit());
             LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
@@ -473,6 +482,28 @@
                 forepartAuctionSalesroomGoodsVO.setIsBond(1);
                 forepartAuctionSalesroomGoodsVO.setIsStatus(1);
             }
+
+            LambdaQueryWrapper<AuctionBidRecord> wrapper2=Wrappers.lambdaQuery();
+            wrapper2.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId());
+            wrapper2.eq(AuctionBidRecord::getAuctionType,2);
+            wrapper2.eq(AuctionBidRecord::getTargetId,salesroomGoods.getId());
+            wrapper2.eq(AuctionBidRecord::getDelFlag,0);
+            AuctionBidRecord list2 = auctionBidRecordMapper.selectOne(wrapper1);
+            if (list2!=null){
+                forepartAuctionSalesroomGoodsVO.setZgBid(list2.getLastBidAmount());
+            }
+
+            LambdaQueryWrapper<AuctionBidRecord> wrapper5=Wrappers.lambdaQuery();
+            wrapper5.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId());
+            wrapper5.eq(AuctionBidRecord::getAuctionType,2);
+            wrapper5.eq(AuctionBidRecord::getTargetId,salesroomGoods.getId());
+            wrapper5.eq(AuctionBidRecord::getMemberId,memberAuctionSalesroomDTO.getMemberId());
+            wrapper5.eq(AuctionBidRecord::getDelFlag,0);
+            AuctionBidRecord list5 = auctionBidRecordMapper.selectOne(wrapper1);
+            if (list5!=null){
+                forepartAuctionSalesroomGoodsVO.setPresentBid(list5.getLastBidAmount());
+            }
+
             forepartAuctionSalesroomGoodsVOS.add(forepartAuctionSalesroomGoodsVO);
         }
         memberAuctionSalesroomInfoVO.setForepartAuctionSalesroomGoodsVO(forepartAuctionSalesroomGoodsVOS);
@@ -540,22 +571,15 @@
                 throw new ServiceException("当前拍卖场中标拍品订单未完成,请完成后再试。");
             }
             // 远程调用订单服务进行退款
-                Map<String, Object> data = orderClient.refund(refundDTOList,
-                        SecurityConstants.INNER).getData();
+                orderClient.refund1(refundDTO, SecurityConstants.INNER).getData();
                 // 处理退款返回结果
                 List<String> successfulOrders = new ArrayList<>();
                 List<String> failedOrders = new ArrayList<>();
 
-                data.forEach((key, value) -> {
-                    if ((boolean) value) {
-                        successfulOrders.add(key);
-                    } else {
-                        failedOrders.add(key);
-                    }
-                });
-                // 退款成功的订单修改状态
-                List<Long> ids = new ArrayList<>();
+
+                List<Long> ids=new ArrayList<>();
                 ids.add(orderAuctionBond.getId());
+
                 // 远程调用订单服务修改订单状态
                 orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.REFUNDED,SecurityConstants.INNER);
 
@@ -565,6 +589,7 @@
             RefundDTO refundDTO = new RefundDTO();
             refundDTO.setOrderNo(orderAuctionBond.getOrderNo());
             refundDTO.setAmount(orderAuctionBond.getBond());
+            refundDTOList.add(refundDTO);
 
             LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery();
             wrapper.eq(AuctionBidRecord::getTargetId, memberAuctionSalesroomBondDTO.getAuctionGoodsId());
@@ -577,21 +602,11 @@
             }
 
             // 远程调用订单服务进行退款
-            Map<String, Object> data = orderClient.refund(refundDTOList,
+             orderClient.refund1(refundDTO,
                     SecurityConstants.INNER).getData();
-            // 处理退款返回结果
-            List<String> successfulOrders = new ArrayList<>();
-            List<String> failedOrders = new ArrayList<>();
 
-            data.forEach((key, value) -> {
-                if ((boolean) value) {
-                    successfulOrders.add(key);
-                } else {
-                    failedOrders.add(key);
-                }
-            });
-            // 退款成功的订单修改状态
-            List<Long> ids = new ArrayList<>();
+
+            List<Long> ids=new ArrayList<>();
             ids.add(orderAuctionBond.getId());
             // 远程调用订单服务修改订单状态
             orderClient.updateOrderAuctionBondStatus(ids,BondStatusEnum.REFUNDED,SecurityConstants.INNER);
@@ -608,16 +623,35 @@
             if (byId.getStartingPrice().doubleValue()>bidVO.getLastBidAmount().doubleValue()){
                 throw new ServiceException("出价不能比起拍价低");
             }
+
+            LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery();
+            wrapper3.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId());
+            wrapper3.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId());
+            wrapper3.eq(AuctionBidRecord::getDelFlag,0);
+            wrapper3.orderByDesc(AuctionBidRecord::getLastBidAmount);
+            wrapper3.last("limit 1");
+            AuctionBidRecord one3 = auctionBidRecordService.getOne(wrapper3);
+            if (one3!=null){
+                if (bidVO.getLastBidAmount().doubleValue()<one3.getLastBidAmount().doubleValue()){
+                    throw new ServiceException("出价不能比当前最高价低");
+                }
+            }
+
             BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount());
             if (bigDecimal.doubleValue()>bidVO.getLastBidAmount().doubleValue()){
                 throw new ServiceException("出价不能比每次最少加价低");
             }
+
+
+
+
 
             LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
             wrapper1.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId());
             wrapper1.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId());
             wrapper1.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId());
             wrapper1.eq(AuctionBidRecord::getDelFlag,0);
+
             AuctionBidRecord one = auctionBidRecordService.getOne(wrapper1);
             if (one!=null){
                 BigDecimal bigDecimal1=one.getLastBidAmount().add(byId.getMinimumMarkupAmount());
@@ -634,7 +668,12 @@
                 one.setTargetId(bidVO.getTargetId());
                 one.setMemberId(bidVO.getMemberId());
                 one.setLastBidTime(LocalDateTime.now());
-                one.setNickname(membeOne.getNickname());
+                if(membeOne.getRealName()!=null&&membeOne.getRealName()!=""){
+                    one.setNickname(membeOne.getRealName());
+                }else{
+                    one.setNickname(membeOne.getNickname());
+                }
+
                 one.setPhone(membeOne.getPhone());
                 one.setAuctionType(AuctionOrderTypeEnum.AUCTION_ITEMS);
                 one.setStatus(BidStatusEnum.ELIMINATE);
@@ -694,6 +733,7 @@
 
                 }
             }
+
             LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery();
             wrapper3.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId());
             wrapper3.eq(AuctionBidRecord::getDelFlag,0);
@@ -711,6 +751,12 @@
                     one3.setAuctionSalesroomId(bidVO.getAuctionSalesroomId());
                     one3.setTargetId(bidVO.getTargetId());
                     one3.setMemberId(bidVO.getMemberId());
+                    if(membeOne.getRealName()!=null||membeOne.getRealName()!=""){
+                        one3.setNickname(membeOne.getRealName());
+                    }else{
+                        one3.setNickname(membeOne.getNickname());
+                    }
+                    one3.setPhone(membeOne.getPhone());
                     one3.setLastBidTime(LocalDateTime.now());
                     one3.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS);
                     one3.setStatus(BidStatusEnum.ELIMINATE);
@@ -1449,8 +1495,8 @@
                 Wrappers.<AuctionBidRecord>lambdaQuery()
                         .eq(AuctionBidRecord::getAuctionSalesroomId, auctionSalesroomId)
                         .eq(AuctionBidRecord::getStatus, BidStatusEnum.ELIMINATE));
-        List<Long> memberIdlist = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId)
-                .collect(Collectors.toList());
+        Set<Long> memberIdlist = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId)
+                .collect(Collectors.toSet());
         if (StringUtils.isNotEmpty(memberIdlist)) {
             OrderAuctionBondDTO orderAuctionBondDTO = new OrderAuctionBondDTO();
             orderAuctionBondDTO.setAuctionSalesroomId(auctionSalesroom.getId());

--
Gitblit v1.7.1