From 0b007e7fe9ef41fbaa13507d2520a5e8e4faeb3c Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期五, 21 六月 2024 20:15:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java     |   12 ++++++++++++
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java |   21 +++++++++++++++------
 2 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
index 8516be3..414b6c0 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
+++ b/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)) {
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
index 62fc9d7..c23ef08 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
+++ b/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) {

--
Gitblit v1.7.1