From a95d0c4bdd96b09342c7ccf9aa1aef4b26b31302 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 31 七月 2025 14:17:19 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

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 8767ffc..25e953d 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
@@ -79,7 +79,7 @@
 	 * @return
 	 */
 	@Override
-	public LotteryEventVo getLotteryEvent(String id) {
+	public LotteryEventVo getLotteryEvent(String id, String orderId) {
 		Long userId = SecurityUtils.getUserId();
 		TLotteryEvent lotteryEvent = this.getById(id);
 		//构建返回结果
@@ -87,7 +87,12 @@
 		vo.setId(lotteryEvent.getId());
 		vo.setName(lotteryEvent.getName());
 		vo.setActivityProfile(lotteryEvent.getActivityProfile());
-		List<TUserLotteryEvent> userLotteryEvents = userLotteryEventService.list(new QueryWrapper<TUserLotteryEvent>().eq("lottery_event_id", id).eq("user_id", userId));
+		QueryWrapper<TUserLotteryEvent> wrapper = new QueryWrapper<TUserLotteryEvent>().eq("lottery_event_id", id).eq("user_id", userId);
+		//下单抽奖
+		if(2 == lotteryEvent.getActivityType()){
+			wrapper.eq("orderId", orderId);
+		}
+		List<TUserLotteryEvent> userLotteryEvents = userLotteryEventService.list(wrapper);
 		vo.setLaveTimes(lotteryEvent.getTimes() - userLotteryEvents.size());
 
 		//构建我的奖品明细
@@ -134,7 +139,7 @@
 	 * @return
 	 */
 	@Override
-	public R<TLotteryEventPrize> lotteryDraw(String id) {
+	public R<TLotteryEventPrize> lotteryDraw(String id, String orderId) {
 		Long userId = SecurityUtils.getUserId();
 		Member member = remoteMemberService.getMember(userId).getData();
 		TLotteryEvent lotteryEvent = this.getById(id);
@@ -152,11 +157,9 @@
 			boolean tryLock = lock.tryLock(30, TimeUnit.SECONDS);
 			if (tryLock) {
 				//判断抽奖次数是否用完
-				if(2 != lotteryEvent.getActivityType()){
-					int count = userLotteryEventService.count(new QueryWrapper<TUserLotteryEvent>().eq("lottery_event_id", id).eq("user_id", userId));
-					if (lotteryEvent.getTimes() <= count) {
-						return R.fail("抽奖次数已用完");
-					}
+				int count = userLotteryEventService.count(new QueryWrapper<TUserLotteryEvent>().eq("lottery_event_id", id).eq("user_id", userId).eq("order_id", orderId));
+				if (lotteryEvent.getTimes() <= count) {
+					return R.fail("抽奖次数已用完");
 				}
 				List<TLotteryEventPrize> lotteryEventPrizeList = lotteryEventPrizeService.list(new QueryWrapper<TLotteryEventPrize>().eq("lottery_event_id", id));
 				//开始抽奖,根据中奖概率来抽奖
@@ -184,6 +187,7 @@
 				userLotteryEvent.setObjectId(lotteryEventPrize.getObjectId());
 				userLotteryEvent.setObjectName(lotteryEventPrize.getObjectName());
 				userLotteryEvent.setNumber(lotteryEventPrize.getNumber());
+				userLotteryEvent.setOrderId(orderId);
 				//中奖优惠券
 				if (1 == lotteryEventPrize.getPrizeType()) {
 					AddMemberCoupon addMemberCoupon = new AddMemberCoupon();

--
Gitblit v1.7.1