package com.ruoyi.auction.service.impl;
|
|
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.ruoyi.auction.service.IAuctionSalesroomGoodsService;
|
import com.ruoyi.common.core.enums.BidStatusEnum;
|
import java.util.ArrayList;
|
import java.util.List;
|
import javax.annotation.Resource;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* <p>
|
* 出价记录表 服务实现类
|
* </p>
|
*
|
* @author mitao
|
* @since 2024-05-16
|
*/
|
@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::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId());
|
wrapper.eq(AuctionBidRecord::getDelFlag,0);
|
wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount);
|
auctionBidRecordList=iAuctionBidRecordService.list(wrapper);
|
//判断
|
if (auctionBidRecordList.size()>=auctionSalesroomGoods.getItemQuantity()){
|
for (int i=0;i<=auctionSalesroomGoods.getItemQuantity();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::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId());
|
wrapper.eq(AuctionBidRecord::getStatus,2);
|
wrapper.eq(AuctionBidRecord::getDelFlag,0);
|
wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount);
|
auctionBidRecordList=iAuctionBidRecordService.list(wrapper);
|
}
|
return auctionBidRecordList;
|
|
|
}
|
}
|