单次任务处理

This commit is contained in:
wangw 2024-12-11 16:45:06 +08:00
parent 211f99c87b
commit e93e201dd2
1 changed files with 9 additions and 7 deletions

View File

@ -47,7 +47,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
@Override
public Result queryTaskCenter(Long userId) {
//任务
IPage<TaskCenter> taskPage = baseMapper.selectPage(new Page<>(1, 50), new QueryWrapper<TaskCenter>().eq("shows", 1).orderByAsc("sort", "type"));
List<TaskCenter> taskPage = baseMapper.selectList(new QueryWrapper<TaskCenter>().eq("shows", 1).orderByAsc("sort", "type"));
boolean todaySign = true;
// 签到记录
QueryWrapper<UserSignRecord> signWrapper = new QueryWrapper<>();
@ -55,7 +55,8 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
signWrapper.lt("sign_day", DateUtil.format(new Date(), "yyyy-MM") + "-00");
signWrapper.orderByAsc("create_time");
List<UserSignRecord> signRecordList = signRecordService.list(signWrapper);
for (TaskCenter s : taskPage.getRecords()) {
TaskCenter reTaskCenter = null;
for (TaskCenter s : taskPage) {
switch (s.getType()) {
//签到任务
case 2:
@ -102,20 +103,21 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
break;
//一次性任务
case 3:
if (s.getId().equals(1)) {
if (s.getId().equals(1L)) {
Integer sumOrderNum = ordersService.countOrderNum(userId, null);
if (sumOrderNum != null && sumOrderNum < s.getNumber()) {
s.setDiscNumber(sumOrderNum);
s.setNumber(s.getNumber());
} else if (recordService.countTaskNum(userId, s.getId(), null) > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
reTaskCenter=s;
}
}
break;
}
}
if (reTaskCenter != null) {
taskPage.remove(reTaskCenter);
}
return Result.success().put("data", taskPage);
}
@ -168,7 +170,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
}
}
} else if (taskCenter.getType().equals(3) && taskCenter.getId() == 1) {
} else if (taskCenter.getType().equals(3) && taskCenter.getId().equals(1L)) {
Integer sumOrderNum = ordersService.countOrderNum(userId, null);
if (sumOrderNum != null && sumOrderNum < taskCenter.getNumber()) {
return Result.error("领取失败,未达成领取条件");