From a5c5fc7c86c37519dbe42b148b47ebfc00f89ca9 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期三, 09 七月 2025 10:56:42 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 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 f0294cb..d8c41c3 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
@@ -91,7 +91,7 @@
 		//答题正确率
 		if (5 == lotteryEvent.getActivityType()) {
 			TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsAnswersService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId));
-			if (null == questionsServiceOne) {
+			if (null != questionsServiceOne) {
 				vo.setCorrectAnswerRate(questionsServiceOne.getCorrectAnswerRate());
 			}
 		}
@@ -102,10 +102,12 @@
 			userLotteryEventVo.setName(s.getObjectName());
 			userLotteryEventVo.setPrizeType(s.getPrizeType());
 			userLotteryEventVo.setNumber(s.getNumber());
-			MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrizeByGiftId(s.getId()).getData();
-			userLotteryEventVo.setVerifyCode("3-" + memberGiftRecord.getPrizeId());
-			userLotteryEventVo.setIsVerify(1 == memberGiftRecord.getVerifyStatus() ? 0 : 1);
-			userLotteryEventVo.setVerifyTime(null == memberGiftRecord.getVerifyTime() ? "" : sdf.format(memberGiftRecord.getVerifyTime()));
+			if (Arrays.asList(2, 3).contains(s.getPrizeType())) {
+				MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrizeByGiftId(s.getId()).getData();
+				userLotteryEventVo.setVerifyCode("3-" + memberGiftRecord.getPrizeId());
+				userLotteryEventVo.setIsVerify(1 == memberGiftRecord.getVerifyStatus() ? 0 : 1);
+				userLotteryEventVo.setVerifyTime(null == memberGiftRecord.getVerifyTime() ? "" : sdf.format(memberGiftRecord.getVerifyTime()));
+			}
 			Member member = remoteMemberService.getMember(userId).getData();
 			userLotteryEventVo.setVerifyShop("全部门店");
 			if (null != member && null != member.getRelationShopId()) {
@@ -126,7 +128,7 @@
 	 * @return
 	 */
 	@Override
-	public R lotteryDraw(String id) {
+	public R<TLotteryEventPrize> lotteryDraw(String id) {
 		Long userId = SecurityUtils.getUserId();
 		Member member = remoteMemberService.getMember(userId).getData();
 		TLotteryEvent lotteryEvent = this.getById(id);
@@ -163,7 +165,7 @@
 				Collections.shuffle(list);
 				//开始获取随机数
 				int random = new Random().nextInt(list.size());
-				TLotteryEventPrize lotteryEventPrize = lotteryEventPrizeList.get(random);
+				TLotteryEventPrize lotteryEventPrize = list.get(random);
 				//添加中奖商品
 				TUserLotteryEvent userLotteryEvent = new TUserLotteryEvent();
 				userLotteryEvent.setId(IdUtils.simpleUUID());
@@ -218,7 +220,7 @@
 				memberGiftRecord.setCreateTime(new Date());
 				memberGiftRecord.setVerifyStatus(1);
 				remoteMemberService.saveMemberGiftRecord(memberGiftRecord);
-				return R.ok();
+				return R.ok(lotteryEventPrize);
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -263,6 +265,8 @@
 				.eq(TLotteryEvent::getActivityType, dto.getActivityType())//类型相同的
 				.between(TLotteryEvent::getStartTime, dto.getStartTime(), dto.getEndTime())//开始时间在这个活动的(开始-结束)范围内的
 				.or()
+				.eq(TLotteryEvent::getDelFlag, 0)//未删除的
+				.eq(TLotteryEvent::getActivityType, dto.getActivityType())//类型相同的
 				.between(TLotteryEvent::getEndTime, dto.getStartTime(), dto.getEndTime())//结束时间在这个活动的(开始-结束)范围内的
 		);
 		if (null != lotteryEvents && !lotteryEvents.isEmpty()) {
@@ -396,10 +400,11 @@
 		page.setCurrent(dto.getPageNum());
 		page.setPages(total/dto.getPageSize());
         //获取分页信息
+		dto.setOffset((dto.getPageNum() - 1) * dto.getPageSize());
 		List<MgtLotteryEventPageVo> voList = this.baseMapper.pageMgtLotteryEvent(dto);
 		//填充创建对象
 		voList.forEach(x->{
-			if (x.getActivityType()!=6){
+			if (null == x.getShopId()){
 				x.setCreateObject("平台创建");
 			}else {
 				//线下抽奖,获取门店名称
@@ -479,6 +484,7 @@
 		//1.奖品数据删除
 /*		lotteryEventPrizeService.remove(new LambdaQueryWrapper<TLotteryEventPrize>()
 				.eq(TLotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/
+		
 		lotteryEventPrizeService.deleteByLotteryEventId(lotteryEvent.getId());
 		//2.答题类型
 		if (lotteryEvent.getActivityType().equals(5)) {

--
Gitblit v1.7.1