mitao
2024-06-21 f8dfe3e7b0f95a1130d5084f9fce9c574b0b501f
修改bug
2个文件已修改
33 ■■■■ 已修改文件
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -33,6 +33,7 @@
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.system.api.constants.ConfigEnum;
import com.ruoyi.system.api.constants.NotificationTypeConstant;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.system.api.domain.CustomConfig;
@@ -61,6 +62,7 @@
import com.ruoyi.system.api.feignClient.OrderClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.seata.spring.annotation.GlobalTransactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashSet;
@@ -306,6 +308,14 @@
                auctionBidRecordService.updateById(auctionBidRecord);
                memberId = auctionBidRecord.getMemberId();
                // 创建待支付订单
                CustomConfig moneyConfig = sysUserClient.getconfig(
                        ConfigEnum.MEMBER_POINTS_MONEY.getKey()).getData();
                CustomConfig pointsConfig = sysUserClient.getconfig(
                        ConfigEnum.MEMBER_POINTS_POINTS.getKey()).getData();
                double ratio =
                        Double.parseDouble(
                                pointsConfig.getConfigValue()) / Double.parseDouble(
                                moneyConfig.getConfigValue());
                OrderDTO orderDTO = new OrderDTO();
                orderDTO.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS);
                orderDTO.setGoodsQuantity(auctionGoods.getAuctionStock());
@@ -315,6 +325,8 @@
                orderDTO.setTotalAmount(auctionBidRecord.getLastBidAmount());
                orderDTO.setOrderFrom(OrderFromEnum.AUCTION_ORDERS);
                orderDTO.setOrderTime(LocalDateTime.now());
                orderDTO.setPoints(auctionBidRecord.getLastBidAmount()
                        .multiply(BigDecimal.valueOf(ratio)).intValue());
                MemberAddress data = memberClient.getMemberAddressOne(
                        auctionBidRecord.getMemberId(), SecurityConstants.INNER).getData();
                if (StringUtils.isNotNull(data)) {
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -1328,6 +1328,8 @@
        if (StringUtils.isNull(data)) {
            throw new ServiceException("视频不存在");
        }
        iAuctionVideoService.remove(Wrappers.<AuctionVideo>lambdaQuery().eq
                (AuctionVideo::getAuctionSalesroomId, dto.getAuctionSalesroomId()));
        AuctionVideo auctionVideo = new AuctionVideo();
        auctionVideo.setAuctionSalesroomId(dto.getAuctionSalesroomId());
        auctionVideo.setPromotionVideoId(dto.getVideoId());
@@ -1343,7 +1345,7 @@
    @Override
    public void stopPlay(Long auctionSalesroomId) {
        iAuctionVideoService.remove(Wrappers.<AuctionVideo>lambdaQuery().eq
                (AuctionVideo::getAuctionSalesroomId, 1L));
                (AuctionVideo::getAuctionSalesroomId, auctionSalesroomId));
    }
    /**
@@ -1387,17 +1389,24 @@
    @Transactional
    public void stopCurrentAuctionSalesroom(Long auctionSalesroomId)
            throws JsonProcessingException {
        // 修改拍卖场开始状态
        AuctionSalesroom auctionSalesroom = this.getById(auctionSalesroomId);
        auctionSalesroom.setStatus(AuctionStartStatusEnum.ENDED);
        auctionSalesroom.setEndTime(LocalDateTime.now());
        auctionSalesroomMapper.updateById(auctionSalesroom);
        LambdaQueryWrapper<AuctionSalesroomGoods> wrapper = Wrappers.lambdaQuery();
        wrapper.eq(AuctionSalesroomGoods::getStatus, AuctionGoodsStatusEnum.WAITING);
        wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId, auctionSalesroomId);
        wrapper.orderByDesc(AuctionSalesroomGoods::getSortNum);
        List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectList(
                wrapper);
        long count = auctionSalesroomGoods.stream()
                .filter(goods -> goods.getStatus().equals(AuctionGoodsStatusEnum.IN_PROGRESS))
                .count();
        if (count > 0) {
            throw new ServiceException("当前拍卖场正在拍卖商品,不能停止");
        }
        // 修改拍卖场开始状态
        AuctionSalesroom auctionSalesroom = this.getById(auctionSalesroomId);
        auctionSalesroom.setStatus(AuctionStartStatusEnum.ENDED);
        auctionSalesroom.setEndTime(LocalDateTime.now());
        auctionSalesroomMapper.updateById(auctionSalesroom);
        if (StringUtils.isNotEmpty(auctionSalesroomGoods)) {
            List<GoodsStockUpdDTO> dtoList = new ArrayList<>();
            for (AuctionSalesroomGoods salesroomGoods : auctionSalesroomGoods) {