rentaiming
2024-05-30 9bcc40d213a44498c46dae5e678e592b918b40b0
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
@@ -1,9 +1,19 @@
package com.ruoyi.auction.service.impl;
import com.ruoyi.auction.domain.pojo.AuctionBidRecord;
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.service.IAuctionBidRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.auction.service.IAuctionSalesroomGoodsService;
import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
import com.ruoyi.common.core.enums.BidStatusEnum;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
@@ -16,5 +26,52 @@
 */
@Service
public class AuctionBidRecordServiceImpl extends ServiceImpl<AuctionBidRecordMapper, AuctionBidRecord> implements IAuctionBidRecordService {
    @Resource
    private IAuctionBidRecordService iAuctionBidRecordService;
    @Resource
    private IAuctionSalesroomGoodsService iAuctionSalesroomGoodsService;
    @Override
    public List<AuctionBidRecord> getAuctionBidRecordList(AuctionSalesroomGoodsDTO auctionSalesroomGoodsDTO) {
            AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getById(auctionSalesroomGoodsDTO.getGoodsSkuId());
            List<AuctionBidRecord> auctionBidRecordList=new ArrayList<>();
            if (auctionSalesroomGoods.getStatus().getCode()==1){
                LambdaQueryWrapper<AuctionBidRecord> wrapper=Wrappers.lambdaQuery();
                wrapper.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsDTO.getGoodsSkuId());
                wrapper.eq(AuctionBidRecord::getDelFlag,0);
                wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount);
                auctionBidRecordList=iAuctionBidRecordService.list(wrapper);
                //判断
                if (auctionBidRecordList.size()>=auctionSalesroomGoods.getSalesroomStock()){
                    for (int i=0;i<=auctionSalesroomGoods.getSalesroomStock();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 (auctionSalesroomGoods.getStatus().getCode()==2){
                LambdaQueryWrapper<AuctionBidRecord> wrapper=Wrappers.lambdaQuery();
                wrapper.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsDTO.getGoodsSkuId());
                wrapper.eq(AuctionBidRecord::getStatus,2);
                wrapper.eq(AuctionBidRecord::getDelFlag,0);
                wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount);
                auctionBidRecordList=iAuctionBidRecordService.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();
    }
}