周任务抽奖 改为 单次

This commit is contained in:
wangw 2025-01-14 17:32:42 +08:00
parent d376c3ad22
commit 881f3b8faf
5 changed files with 19 additions and 13 deletions

View File

@ -9,6 +9,6 @@ public interface DiscSpinningRecordService extends IService<DiscSpinningRecord>
Integer countDraw(Long userId);
//当月的 月记录 已抽 抽奖次数
Integer countSourceRecord(Long sourceId);
Integer countSourceRecord(Long sourceId,String source);
}

View File

@ -26,10 +26,10 @@ public class DiscSpinningRecordServiceImpl extends ServiceImpl<DiscSpinningRecor
}
@Override
public Integer countSourceRecord(Long sourceId) {
public Integer countSourceRecord(Long sourceId,String source) {
QueryWrapper<DiscSpinningRecord> 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);
}

View File

@ -167,6 +167,8 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
DiscSpinningRecord record = new DiscSpinningRecord(result.getName(), sourceId, userId, result.getUrl(), result.getType(),
result.getNumber(), DateUtils.formatYMD(new Date()), DateUtils.format(new Date()), source);
recordService.save(record);
//前端下标
record.setId(result.getId());
return record;
}

View File

@ -82,11 +82,6 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//日任务
if (s.getNumber().equals(1)) {
Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00");
// InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userId);
// Integer dayOrderNum = 0;
// if (inviteAchievement != null) {
// dayOrderNum = inviteAchievement.getCount();
// }
if (dayOrderNum < 3) {
s.setDiscNumber(dayOrderNum);
s.setNumber(3);
@ -103,6 +98,13 @@ 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");
if (spinningCount != null && spinningCount > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
break;
}
boolean isBreak = false;
//抽奖次数
Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
@ -140,7 +142,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
s.setDisabled(false);
} else {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId());
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), "taskM");
if (spinningCount == null || rewardMap.get(9) - spinningCount > 0) {
s.setDiscNumber(null);
s.setNumber(null);
@ -207,7 +209,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
if (recordService.countTaskNum(userId, s.getId(), null) > 0) {
continue;
}else {
} else {
s.setDiscNumber(null);
s.setNumber(null);
s.setJumpType(0);
@ -350,6 +352,10 @@ 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)) {
@ -371,7 +377,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
if (signCount >= 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);

View File

@ -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 &gt; #{time}
AND cenRecord.id IS NULL
order by sign.create_time asc
</select>