From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 14 三月 2025 20:56:27 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java |   86 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 69 insertions(+), 17 deletions(-)

diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
index 40de217..eded00b 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
@@ -3,14 +3,24 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO;
 import com.ruoyi.auction.domain.AuctionBidRecord;
-import com.ruoyi.auction.domain.AuctionSalesroomGoods;
 import com.ruoyi.auction.mapper.AuctionBidRecordMapper;
+import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper;
 import com.ruoyi.auction.service.IAuctionBidRecordService;
-import com.ruoyi.auction.service.IAuctionSalesroomGoodsService;
+import com.ruoyi.common.core.constant.SecurityConstants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
 import com.ruoyi.common.core.enums.BidStatusEnum;
+import com.ruoyi.common.core.enums.DisabledEnum;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.system.api.domain.AuctionSalesroomGoods;
+import com.ruoyi.system.api.domain.Member;
+import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO;
+import com.ruoyi.system.api.domain.vo.PopUpVO;
+import com.ruoyi.system.api.feignClient.MemberClient;
+import com.ruoyi.system.api.model.LoginUser;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
@@ -25,44 +35,86 @@
  */
 @Service
 public class AuctionBidRecordServiceImpl extends ServiceImpl<AuctionBidRecordMapper, AuctionBidRecord> implements IAuctionBidRecordService {
-    @Resource
-    private IAuctionBidRecordService iAuctionBidRecordService;
 
     @Resource
-    private IAuctionSalesroomGoodsService iAuctionSalesroomGoodsService;
+    private AuctionSalesroomGoodsMapper auctionSalesroomGoodsMapper;
+    @Resource
+    private MemberClient memberClient;
 
     @Override
-    public List<AuctionBidRecord> getAuctionBidRecordList(AuctionSalesroomGoodsDTO auctionSalesroomGoodsDTO) {
-            AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getById(auctionSalesroomGoodsDTO.getGoodsSkuId());
+    public List<AuctionBidRecord> getAuctionBidRecordList(AuctionSalesroomDTO auctionSalesroomGoodsDTO) {
+        AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById(
+                auctionSalesroomGoodsDTO.getGoodsSkuId());
             List<AuctionBidRecord> auctionBidRecordList=new ArrayList<>();
             if (auctionSalesroomGoods.getStatus().getCode()==1){
                 LambdaQueryWrapper<AuctionBidRecord> wrapper=Wrappers.lambdaQuery();
-                wrapper.eq(AuctionBidRecord::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId());
+                wrapper.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsDTO.getGoodsSkuId());
                 wrapper.eq(AuctionBidRecord::getDelFlag,0);
                 wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount);
-                auctionBidRecordList=iAuctionBidRecordService.list(wrapper);
+                wrapper.orderByAsc(AuctionBidRecord::getLastBidTime);
+                auctionBidRecordList = this.list(wrapper);
                 //判断
-                if (auctionBidRecordList.size()>=auctionSalesroomGoods.getItemQuantity()){
-                    for (int i=0;i<=auctionSalesroomGoods.getItemQuantity();i++){
+                if (auctionBidRecordList.size() >= auctionSalesroomGoods.getBidNum()) {
+                    for (int i = 0; i < auctionSalesroomGoods.getBidNum(); i++) {
                         AuctionBidRecord auctionBidRecord= auctionBidRecordList.get(i);
                         auctionBidRecord.setStatus(BidStatusEnum.LEAD);
                     }
                 }else{
-                    for (int i=0;i<=auctionBidRecordList.size();i++){
-                        AuctionBidRecord auctionBidRecord= auctionBidRecordList.get(i);
-                        auctionBidRecord.setStatus(BidStatusEnum.LEAD);
+                    if (auctionBidRecordList.size()>0){
+                        for (int i=0;i<auctionBidRecordList.size();i++){
+                            AuctionBidRecord auctionBidRecord= auctionBidRecordList.get(i);
+                            auctionBidRecord.setStatus(BidStatusEnum.LEAD);
+                        }
                     }
+
                 }
             }if (auctionSalesroomGoods.getStatus().getCode()==2){
                 LambdaQueryWrapper<AuctionBidRecord> wrapper=Wrappers.lambdaQuery();
-                wrapper.eq(AuctionBidRecord::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId());
+                wrapper.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsDTO.getGoodsSkuId());
                 wrapper.eq(AuctionBidRecord::getStatus,2);
                 wrapper.eq(AuctionBidRecord::getDelFlag,0);
                 wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount);
-                auctionBidRecordList=iAuctionBidRecordService.list(wrapper);
+            wrapper.orderByAsc(AuctionBidRecord::getLastBidTime);
+                auctionBidRecordList = this.list(wrapper);
             }
             return auctionBidRecordList;
 
 
     }
+
+    @Override
+    public List<AuctionBidRecord> getBidRecordByGoodsId(Long id) {
+        return this.lambdaQuery().eq(AuctionBidRecord::getTargetId, id)
+                .eq(AuctionBidRecord::getAuctionType,
+                        AuctionOrderTypeEnum.REGULAR_ITEMS)
+                .orderByDesc(AuctionBidRecord::getLastBidAmount).list();
+    }
+
+    /**
+     * 标记已弹出弹窗
+     * @param auctionBidRecordId
+     */
+    @Override
+    public void setPopup(Long auctionBidRecordId) {
+        this.lambdaUpdate()
+                .set(AuctionBidRecord::getNotifyFlag, DisabledEnum.YES.getCode())
+                .eq(AuctionBidRecord::getId, auctionBidRecordId).update();
+    }
+
+    /**
+     * 【2024.12.31】查询用户弹窗
+     * @return
+     */
+    @Override
+    public List<PopUpVO> popupList() {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        R<Member> member = memberClient.getMemberByUserId(loginUser.getUserid(),
+                SecurityConstants.INNER);
+        List<PopUpVO> res = Collections.emptyList();
+        if (R.isSuccess(member)) {
+            Member memberData = member.getData();
+            res = baseMapper.popupList(memberData.getId());
+        }
+        return res;
+    }
 }

--
Gitblit v1.7.1