rentaiming
2024-07-16 31267d9b3a33c8b3fbb1b9f810ab08e01c49b846
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -36,6 +36,7 @@
import com.ruoyi.system.api.feignClient.OrderClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@@ -175,6 +176,7 @@
            LambdaQueryWrapper<AuctionSalesroomGoods> wrapper=Wrappers.lambdaQuery();
            wrapper.eq(AuctionSalesroomGoods::getStatus,0);
            wrapper.eq(AuctionSalesroomGoods::getDelFlag,0);
            wrapper.eq(AuctionSalesroomGoods::getBackupStatus,false);
            wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            wrapper.orderByAsc(AuctionSalesroomGoods::getSortNum);
            List<AuctionSalesroomGoods> auctionSalesroomGoods = this.list(wrapper);
@@ -192,6 +194,7 @@
            LambdaQueryWrapper<AuctionSalesroomGoods> wrapper=Wrappers.lambdaQuery();
            wrapper.eq(AuctionSalesroomGoods::getStatus,1);
            wrapper.eq(AuctionSalesroomGoods::getDelFlag,0);
            wrapper.eq(AuctionSalesroomGoods::getBackupStatus,false);
            wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            wrapper.last("limit 1");
            AuctionSalesroomGoods auctionSalesroomGoods = this.getOne(wrapper);
@@ -212,6 +215,7 @@
            LambdaQueryWrapper<AuctionSalesroomGoods> wrapper1=Wrappers.lambdaQuery();
            wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0);
            wrapper1.eq(AuctionSalesroomGoods::getStatus,0);
            wrapper1.eq(AuctionSalesroomGoods::getBackupStatus,false);
            wrapper1.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            if (auctionSalesroomGoods!=null) {
                wrapper1.eq(AuctionSalesroomGoods::getSortNum, auctionSalesroomGoods.getSortNum() + 1);
@@ -220,6 +224,7 @@
                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.last("limit 1");
@@ -260,8 +265,9 @@
                wrapper2.notIn(AuctionSalesroomGoods::getSortNum,list);
            }
            wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum);
            wrapper2.orderByAsc(AuctionSalesroomGoods::getStatus);
            wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum);
            wrapper2.eq(AuctionSalesroomGoods::getBackupStatus,false);
            List<AuctionSalesroomGoods> auctionSalesroomGoods2 = this.list(wrapper2);
            for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods2){
                ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO1=new ForepartAuctionSalesroomGoodsVO();
@@ -425,6 +431,9 @@
        wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0);
        wrapper2.eq(AuctionSalesroomGoods::getId,auctionSalesroomGoodsDTO.getGoodsSkuId());
        AuctionSalesroomGoods auctionSalesroomGoods=this.getOne(wrapper2);
        if (auctionSalesroomGoods==null){
            throw new ServiceException("拍卖会已没有待开始拍卖商品");
        }
        auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.IN_PROGRESS);
        auctionSalesroomGoods.setStartTime(LocalDateTime.now());
        if (auctionSalesroomGoods.getBackupStatus()){
@@ -603,7 +612,9 @@
        wrapper2.eq(AuctionBidRecord::getAuctionType,2);
        wrapper2.eq(AuctionBidRecord::getTargetId,byId1.getId());
        wrapper2.eq(AuctionBidRecord::getDelFlag,0);
        AuctionBidRecord list2 = auctionBidRecordMapper.selectOne(wrapper1);
        wrapper2.orderByDesc(AuctionBidRecord::getLastBidAmount);
        wrapper2.last("limit 1");
        AuctionBidRecord list2 = auctionBidRecordMapper.selectOne(wrapper2);
        if (list2!=null){
            AuctionSalesroomGoodsInfoVO.setZgBid(list2.getLastBidAmount());
        }
@@ -688,12 +699,19 @@
                SecurityConstants.INNER);
        MemberAddress memberAddress=memberAddressR.getData();
        CustomConfig memberPointsMoney = sysUserClient.getconfig("MEMBER_POINTS_MONEY").getData();
        CustomConfig memberPointsPoints = sysUserClient.getconfig("MEMBER_POINTS_POINTS").getData();
        Double aDouble= Double.valueOf(memberPointsMoney.getConfigValue()) * Double.valueOf(memberPointsPoints.getConfigValue());
        BigDecimal pi=lastBidAmount.multiply(new BigDecimal(aDouble));
        order.setPoints(pi.intValue());
        if (lastBidAmount.intValue()>0){
            BigDecimal divide = lastBidAmount.divide(new BigDecimal(memberPointsMoney.getConfigValue()));
            BigDecimal roundedDown = divide.setScale(0, RoundingMode.DOWN);
            BigDecimal aDouble= roundedDown.multiply(new BigDecimal(memberPointsPoints.getConfigValue()));
            order.setPoints(aDouble.intValue());
        }else{
            order.setPoints(0);
        }
        if (memberAddress!=null){
            order.setReceiverCity(memberAddress.getCity());
            order.setReceiverDetailAddress(memberAddress.getDetailedAddress());