From 881f3b8fafa76c7eebf60c710fbac2b6bc50d6e4 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 14 Jan 2025 17:32:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=A8=E4=BB=BB=E5=8A=A1=E6=8A=BD=E5=A5=96?= =?UTF-8?q?=20=E6=94=B9=E4=B8=BA=20=E5=8D=95=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/DiscSpinningRecordService.java | 2 +- .../impl/DiscSpinningRecordServiceImpl.java | 4 ++-- .../service/impl/DiscSpinningServiceImpl.java | 2 ++ .../service/impl/TaskCenterServiceImpl.java | 22 ++++++++++++------- .../mapper/userSign/TaskCenterDto.xml | 2 -- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/sqx/modules/discSpinning/service/DiscSpinningRecordService.java b/src/main/java/com/sqx/modules/discSpinning/service/DiscSpinningRecordService.java index 1b05bb8d..e84cd96a 100644 --- a/src/main/java/com/sqx/modules/discSpinning/service/DiscSpinningRecordService.java +++ b/src/main/java/com/sqx/modules/discSpinning/service/DiscSpinningRecordService.java @@ -9,6 +9,6 @@ public interface DiscSpinningRecordService extends IService Integer countDraw(Long userId); //当月的 月记录 已抽 抽奖次数 - Integer countSourceRecord(Long sourceId); + Integer countSourceRecord(Long sourceId,String source); } diff --git a/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningRecordServiceImpl.java b/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningRecordServiceImpl.java index 0d1503e4..d16cc051 100644 --- a/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningRecordServiceImpl.java +++ b/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningRecordServiceImpl.java @@ -26,10 +26,10 @@ public class DiscSpinningRecordServiceImpl extends ServiceImpl recordQuery = new QueryWrapper<>(); recordQuery.eq("source_id", sourceId); - recordQuery.eq("source", "taskM"); + recordQuery.eq("source", source); recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date())); return discSpinningRecordDao.selectCount(recordQuery); } diff --git a/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java b/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java index c01a41a8..d4036c32 100644 --- a/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java +++ b/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java @@ -167,6 +167,8 @@ public class DiscSpinningServiceImpl extends ServiceImpl 1 && s.getNumber() < 8) { if (rewardMap.containsKey(9)) { + Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), "taskW"); + if (spinningCount != null && spinningCount > 0) { + s.setButtonTitle("已领取"); + s.setDisabled(false); + s.setNumber(null); + break; + } boolean isBreak = false; //抽奖次数 Map taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9)); @@ -140,7 +142,7 @@ public class TaskCenterServiceImpl extends ServiceImpl 0) { s.setDiscNumber(null); s.setNumber(null); @@ -207,7 +209,7 @@ public class TaskCenterServiceImpl extends ServiceImpl 0) { continue; - }else { + } else { s.setDiscNumber(null); s.setNumber(null); s.setJumpType(0); @@ -350,6 +352,10 @@ public class TaskCenterServiceImpl extends ServiceImpl taskWRedisMap = new HashMap<>(); if ("2".equals(type)) { + Integer spinningCount = discSpinningRecordService.countSourceRecord(userId, "taskW"); + if (spinningCount != null && spinningCount > 0) { + return 0; + } //抽奖次数 Map taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9)); if (CollectionUtil.isNotEmpty(taskWCount)) { @@ -371,7 +377,7 @@ public class TaskCenterServiceImpl extends ServiceImpl= taskCenter.getNumber()) { if (rewardMap.containsKey(9)) { - Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId()); + Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId(), "taskM"); countTaskDisc = rewardMap.get(9) + (spinningCount == null ? 0 : spinningCount); if (countTaskDisc > 0) { taskWRedisMap.put(taskCenter.getId(), countTaskDisc); diff --git a/src/main/resources/mapper/userSign/TaskCenterDto.xml b/src/main/resources/mapper/userSign/TaskCenterDto.xml index f77487a2..a09ffe6c 100644 --- a/src/main/resources/mapper/userSign/TaskCenterDto.xml +++ b/src/main/resources/mapper/userSign/TaskCenterDto.xml @@ -7,12 +7,10 @@ sign.id FROM user_sign_record sign - LEFT JOIN task_center_record cenRecord ON sign.id = cenRecord.source_id WHERE sign.`DAY` = 7 AND sign.user_id = #{userId} and sign.create_time > #{time} - AND cenRecord.id IS NULL order by sign.create_time asc