mitao
2024-07-29 fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
@@ -3,12 +3,13 @@
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.system.api.domain.dto.AuctionSalesroomDTO;
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.enums.AuctionOrderTypeEnum;
import com.ruoyi.common.core.enums.BidStatusEnum;
import java.util.ArrayList;
import java.util.List;
@@ -25,44 +26,54 @@
 */
@Service
public class AuctionBidRecordServiceImpl extends ServiceImpl<AuctionBidRecordMapper, AuctionBidRecord> implements IAuctionBidRecordService {
    @Resource
    private IAuctionBidRecordService iAuctionBidRecordService;
    @Resource
    private IAuctionSalesroomGoodsService iAuctionSalesroomGoodsService;
    private AuctionSalesroomGoodsMapper auctionSalesroomGoodsMapper;
    @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);
                auctionBidRecordList = this.list(wrapper);
                //判断
                if (auctionBidRecordList.size()>=auctionSalesroomGoods.getItemQuantity()){
                    for (int i=0;i<=auctionSalesroomGoods.getItemQuantity();i++){
                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 (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);
                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();
    }
}