From 79ea07fd17817c03af14d23f0386e325335039a9 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 19 六月 2025 10:04:47 +0800
Subject: [PATCH] 抽奖bug修改

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java      |   13 ++++--
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java |   11 +++++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventPrizeService.java         |    5 ++
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventPrizeMapper.xml                        |   26 +++++++++++++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventPrizeMapper.java            |    6 +++
 5 files changed, 56 insertions(+), 5 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventPrizeMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventPrizeMapper.java
index 7e262ef..e396b72 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventPrizeMapper.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventPrizeMapper.java
@@ -2,10 +2,16 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.goods.api.domain.LotteryEventPrize;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author zhibing.pu
  * @Date 2025/5/12 9:55
  */
 public interface LotteryEventPrizeMapper extends BaseMapper<LotteryEventPrize> {
+    void deleteByLotteryEventId(@Param("lotteryEventId") String lotteryEventId);
+
+    void savePrizeList(@Param("list") List<LotteryEventPrize> prizeList);
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java
index b2e7bce..15e01d4 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java
@@ -6,10 +6,21 @@
 import com.ruoyi.goods.service.lottery.ILotteryEventPrizeService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author zhibing.pu
  * @Date 2025/5/12 9:56
  */
 @Service
 public class LotteryEventPrizeServiceImpl extends ServiceImpl<LotteryEventPrizeMapper, LotteryEventPrize> implements ILotteryEventPrizeService {
+    @Override
+    public void deleteByLotteryEventId(String lotteryEventId) {
+        this.baseMapper.deleteByLotteryEventId(lotteryEventId);
+    }
+
+    @Override
+    public void savePrizeList(List<LotteryEventPrize> prizeList) {
+        this.baseMapper.savePrizeList(prizeList);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java
index ccc6a70..f7beca2 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java
@@ -301,8 +301,9 @@
 						.eq(LotteryEventQuestions::getLotteryEventId,lotteryEvent.getId()));
 			}
 			//奖品数据删除
-			lotteryEventPrizeService.remove(new LambdaQueryWrapper<LotteryEventPrize>()
-					.eq(LotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));
+			/*lotteryEventPrizeService.remove(new LambdaQueryWrapper<LotteryEventPrize>()
+					.eq(LotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/
+			lotteryEventPrizeService.deleteByLotteryEventId(lotteryEvent.getId());
 		}
 		//新增
 		BeanUtils.copyProperties(dto, lotteryEvent);
@@ -333,7 +334,8 @@
 					return prize;
 				})
 				.collect(Collectors.toList());
-		lotteryEventPrizeService.saveBatch(prizeList);
+//		lotteryEventPrizeService.saveBatch(prizeList);
+		lotteryEventPrizeService.savePrizeList(prizeList);
 		if (dto.getActivityType().equals(5)) {
 			//保存题干数据
 			for (MgtLotteryEventQuestionDTO questionDTO : dto.getMgtLotteryQuestionDTOList()) {
@@ -451,8 +453,9 @@
 		}
 
 		//1.奖品数据删除
-		lotteryEventPrizeService.remove(new LambdaQueryWrapper<LotteryEventPrize>()
-				.eq(LotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));
+/*		lotteryEventPrizeService.remove(new LambdaQueryWrapper<LotteryEventPrize>()
+				.eq(LotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/
+		lotteryEventPrizeService.deleteByLotteryEventId(lotteryEvent.getId());
 		//2.答题类型
 		if (lotteryEvent.getActivityType().equals(5)){
 			//先删除答案选项数据
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventPrizeService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventPrizeService.java
index e54d3e5..3f519b2 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventPrizeService.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventPrizeService.java
@@ -3,9 +3,14 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.goods.api.domain.LotteryEventPrize;
 
+import java.util.List;
+
 /**
  * @author zhibing.pu
  * @Date 2025/5/12 9:56
  */
 public interface ILotteryEventPrizeService extends IService<LotteryEventPrize> {
+    void deleteByLotteryEventId(String lotteryEventId);
+
+    void savePrizeList(List<LotteryEventPrize> prizeList);
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventPrizeMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventPrizeMapper.xml
index 9c6b67f..21d0091 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventPrizeMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventPrizeMapper.xml
@@ -1,5 +1,31 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.goods.mapper.lottery.LotteryEventPrizeMapper">
+    <insert id="savePrizeList">
+        INSERT INTO t_lottery_event_prize (
+        id,
+        lottery_event_id,
+        prize_type,
+        object_id,
+        object_name,
+        number,
+        win_rate
+        ) VALUES
+        <foreach collection="list" item="item" separator=",">
+            (
+            #{item.id},
+            #{item.lotteryEventId},
+            #{item.prizeType},
+            #{item.objectId},
+            #{item.objectName},
+            #{item.number},
+            #{item.winRate}
+            )
+        </foreach>
+    </insert>
 
+    <delete id="deleteByLotteryEventId">
+        DELETE FROM t_lottery_event_prize
+        WHERE lottery_event_id = #{lotteryEventId}
+    </delete>
 </mapper>

--
Gitblit v1.7.1