rentaiming
2024-07-31 c24c5c44ea1d0e0c32feadfb6dea3b6efa0694fc
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -7,8 +7,10 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
import com.ruoyi.auction.domain.AuctionBidRecord;
import com.ruoyi.auction.domain.AuctionBondJl;
import com.ruoyi.auction.domain.AuctionSalesroomGoods;
import com.ruoyi.auction.mapper.AuctionBidRecordMapper;
import com.ruoyi.auction.mapper.AuctionBondJlMapper;
import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper;
import com.ruoyi.auction.mapper.AuctionSalesroomMapper;
import com.ruoyi.auction.service.IAuctionBrowseRecordService;
@@ -79,6 +81,10 @@
    @Resource
    private IAuctionSalesroomService  iAuctionSalesroomService;
    @Resource
    private AuctionBondJlMapper auctionBondJlMapper;
    private static final ObjectMapper objectMapper = new ObjectMapper();
@@ -107,7 +113,7 @@
            wrapper1.eq(AuctionSalesroomGoods::getStatus,2);
            wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0);
            wrapper1.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            wrapper1.orderByDesc(AuctionSalesroomGoods::getSortNum);
            wrapper1.orderByDesc(AuctionSalesroomGoods::getEndTime);
            wrapper1.last("limit 1");
            auctionSalesroomGoods = this.getOne(wrapper1);
            if (auctionSalesroomGoods==null){
@@ -178,7 +184,7 @@
            wrapper.eq(AuctionSalesroomGoods::getDelFlag,0);
            wrapper.eq(AuctionSalesroomGoods::getBackupStatus,false);
            wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            wrapper.orderByAsc(AuctionSalesroomGoods::getSortNum);
            wrapper.orderByDesc(AuctionSalesroomGoods::getSortNum);
            List<AuctionSalesroomGoods> auctionSalesroomGoods = this.list(wrapper);
            for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){
                ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO1=new ForepartAuctionSalesroomGoodsVO();
@@ -196,6 +202,7 @@
            wrapper.eq(AuctionSalesroomGoods::getDelFlag,0);
            wrapper.eq(AuctionSalesroomGoods::getBackupStatus,false);
            wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            wrapper.orderByDesc(AuctionSalesroomGoods::getSortNum);
            wrapper.last("limit 1");
            AuctionSalesroomGoods auctionSalesroomGoods = this.getOne(wrapper);
            ForepartAuctionSalesroomGoodsVO currentAuctionSalesroomGoods=  new ForepartAuctionSalesroomGoodsVO();
@@ -210,7 +217,7 @@
                currentAuctionSalesroomGoods.setGoodsSkustatus(auctionSalesroomGoods.getStatus().getCode());
                currentAuctionSalesroomGoods.setListingDuration(auctionSalesroomGoods.getListingDuration());
                auctionSalesroomVO.setCurrentAuctionSalesroomGoods(currentAuctionSalesroomGoods);
                list.add(auctionSalesroomGoods.getSortNum());
                list.add(auctionSalesroomGoods.getId());
            }
            LambdaQueryWrapper<AuctionSalesroomGoods> wrapper1=Wrappers.lambdaQuery();
            wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0);
@@ -218,15 +225,15 @@
            wrapper1.eq(AuctionSalesroomGoods::getBackupStatus,false);
            wrapper1.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            if (auctionSalesroomGoods!=null) {
                wrapper1.eq(AuctionSalesroomGoods::getSortNum, auctionSalesroomGoods.getSortNum() + 1);
                list.add(auctionSalesroomGoods.getSortNum()+1);
                wrapper1.eq(AuctionSalesroomGoods::getSortNum, auctionSalesroomGoods.getSortNum() - 1);
            }else{
                LambdaQueryWrapper<AuctionSalesroomGoods> wrappers=Wrappers.lambdaQuery();
                wrappers.eq(AuctionSalesroomGoods::getStatus,0);
                wrappers.eq(AuctionSalesroomGoods::getDelFlag,0);
                wrappers.eq(AuctionSalesroomGoods::getBackupStatus,false);
                wrappers.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
                wrappers.orderByAsc(AuctionSalesroomGoods::getSortNum);
                wrappers.orderByDesc(AuctionSalesroomGoods::getSortNum);
                wrappers.last("limit 1");
                AuctionSalesroomGoods auctionSalesroomGoodss = this.getOne(wrappers);
                if (auctionSalesroomGoodss!=null){
@@ -241,7 +248,7 @@
                    currentAuctionSalesroomGoods.setListingDuration(auctionSalesroomGoodss.getListingDuration());
                    auctionSalesroomVO.setCurrentAuctionSalesroomGoods(currentAuctionSalesroomGoods);
                    wrappers.eq(AuctionSalesroomGoods::getSortNum, auctionSalesroomGoodss.getSortNum());
                    list.add(auctionSalesroomGoodss.getSortNum());
                    list.add(auctionSalesroomGoodss.getId());
                }
@@ -259,14 +266,15 @@
                nextAuctionSalesroomGoods.setGoodsSkustatus(auctionSalesroomGoods1.getStatus().getCode());
                nextAuctionSalesroomGoods.setGoodsSkuId(auctionSalesroomGoods1.getId());
                auctionSalesroomVO.setNextAuctionSalesroomGoods(nextAuctionSalesroomGoods);
                list.add(auctionSalesroomGoods1.getId());
            }
            LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery();
            if(list.size()>0){
                wrapper2.notIn(AuctionSalesroomGoods::getSortNum,list);
                wrapper2.notIn(AuctionSalesroomGoods::getId,list);
            }
            wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            wrapper2.orderByAsc(AuctionSalesroomGoods::getStatus);
            wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum);
            wrapper2.orderByDesc(AuctionSalesroomGoods::getSortNum);
            wrapper2.eq(AuctionSalesroomGoods::getBackupStatus,false);
            List<AuctionSalesroomGoods> auctionSalesroomGoods2 = this.list(wrapper2);
            for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods2){
@@ -321,6 +329,11 @@
        wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum);
        wrapper2.last("limit 1");
        AuctionSalesroomGoods auctionSalesroomGoods = this.getOne(wrapper2);
        if (auctionSalesroomGoods==null){
            throw new ServiceException("以没有待拍卖商品");
        }
        if(auctionSalesroomGoods!=null){
            auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.IN_PROGRESS);
            auctionSalesroomGoods.setStartTime(LocalDateTime.now());
@@ -377,12 +390,18 @@
        LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery();
        wrapper.eq(AuctionBidRecord::getAuctionSalesroomId, ationSalesroomGoodsDTO.getAuctionSalesroomId());
        wrapper.eq(AuctionBidRecord::getDelFlag, 0);
        wrapper.eq(AuctionBidRecord::getStatus,0);
        wrapper.eq(AuctionBidRecord::getStatus,2);
        List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList(wrapper);
        for (AuctionBidRecord auctionBidRecord:auctionBidRecordList){
            list.add(auctionBidRecord.getMemberId());
        }
        if (list.size()>0){
            OrderAuctionBondDTO orderAuctionBondDTO=new OrderAuctionBondDTO();
            orderAuctionBondDTO.setAuctionSalesroomId(auctionSalesroom.getId());
            orderAuctionBondDTO.setUserList(list);
            orderClient.getOrderAuctionBond(orderAuctionBondDTO,
                    SecurityConstants.INNER);
        }else{
            OrderAuctionBondDTO orderAuctionBondDTO=new OrderAuctionBondDTO();
            orderAuctionBondDTO.setAuctionSalesroomId(auctionSalesroom.getId());
            orderAuctionBondDTO.setUserList(list);
@@ -510,7 +529,7 @@
                }
            }
        }
        auctionSalesroomGoods.setEndTime(LocalDateTime.now());
        auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED);
        this.updateById(auctionSalesroomGoods);
@@ -581,6 +600,18 @@
        AuctionSalesroomGoodsInfoVO.setSpec(goodsSku.getSpec());
        AuctionSalesroomGoodsInfoVO.setSpecUnit(goodsSku.getSpecUnit());
        LambdaQueryWrapper<AuctionBondJl> wrapper=Wrappers.lambdaQuery();
        wrapper.eq(AuctionBondJl::getAuctionSalesroomId,byId.getId());
        wrapper.eq(AuctionBondJl::getMemberId,auctionSalesroomGoodsInfoDTO.getMemberId());
        wrapper.eq(AuctionBondJl::getIsState,0);
        AuctionBondJl auctionBondJl = auctionBondJlMapper.selectOne(wrapper);
        if (auctionBondJl!=null){
            AuctionSalesroomGoodsInfoVO.setIsApply(2);
        }else{
            AuctionSalesroomGoodsInfoVO.setIsApply(1);
        }
        CustomConfig returnAddressUserName = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData();
        AuctionSalesroomGoodsInfoVO.setExplain(returnAddressUserName.getConfigValue());
        AuctionSalesroomGoodsInfoVO.setMinimumMarkupAmount(byId1.getMinimumMarkupAmount());
@@ -644,8 +675,17 @@
    @Override
    public List<AuctionBidRecordVO> getAuctionBidRecord(AuctionSalesroomGoodsInfoDTO auctionSalesroomGoodsInfoDTO) {
        LambdaQueryWrapper<AuctionBidRecord> wrapper=Wrappers.lambdaQuery();
        AuctionSalesroom byId = auctionSalesroomMapper.selectById(auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId());
        if (byId==null){
            LambdaQueryWrapper<AuctionSalesroom> wrapper1=Wrappers.lambdaQuery();
            wrapper1.eq(AuctionSalesroom::getAuctionSalesroomNo,auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId());
            wrapper1.eq(AuctionSalesroom::getDelFlag,0);
            byId =auctionSalesroomMapper.selectOne(wrapper1);
        }
        if (auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId()!=null){
            wrapper.eq(AuctionBidRecord::getAuctionSalesroomId,auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId());
            wrapper.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId());
        }
        wrapper.eq(AuctionBidRecord::getDelFlag,0);
        wrapper.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsInfoDTO.getGoodsSkuId());