周/月 任务抽奖 改为 单次

This commit is contained in:
2025-01-14 18:05:06 +08:00
parent cb3848e0c9
commit 6ff36a321e
4 changed files with 27 additions and 14 deletions

View File

@@ -98,7 +98,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//周任务
if (s.getNumber() > 1 && s.getNumber() < 8) {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), "taskW");
Integer spinningCount = discSpinningRecordService.countSourceRecord(null, userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
@@ -142,7 +142,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
s.setDisabled(false);
} else {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), "taskM");
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), userId, "taskM");
if (spinningCount == null || rewardMap.get(9) - spinningCount > 0) {
s.setDiscNumber(null);
s.setNumber(null);
@@ -337,12 +337,19 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
QueryWrapper<TaskCenter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", 2);
String sourceType = null;
if ("2".equals(type)) {
queryWrapper.gt("number", 1);
queryWrapper.lt("number", 8);
sourceType = "taskW";
} else if ("3".equals(type)) {
queryWrapper.gt("number", 7);
queryWrapper.lt("number", 32);
sourceType = "taskM";
}
Integer spCount = discSpinningRecordService.countSourceRecord(null, userId, sourceType);
if (spCount != null && spCount > 0) {
return 0;
}
List<TaskCenter> taskCenters = baseMapper.selectList(queryWrapper);
for (TaskCenter taskCenter : taskCenters) {
@@ -352,10 +359,6 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
Map<Long, Integer> taskWRedisMap = new HashMap<>();
if ("2".equals(type)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
return 0;
}
//抽奖次数
Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
if (CollectionUtil.isNotEmpty(taskWCount)) {
@@ -377,8 +380,8 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
if (signCount >= taskCenter.getNumber()) {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId(), "taskM");
countTaskDisc = rewardMap.get(9) + (spinningCount == null ? 0 : spinningCount);
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId(), userId, "taskM");
countTaskDisc = rewardMap.get(9) - (spinningCount == null ? 0 : spinningCount);
if (countTaskDisc > 0) {
taskWRedisMap.put(taskCenter.getId(), countTaskDisc);
}