diff --git a/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenter.java b/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenter.java index 143cb4d7..0ac5061a 100644 --- a/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenter.java +++ b/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenter.java @@ -53,6 +53,8 @@ public class TaskCenter extends Model { @ApiModelProperty("是否开启 0否1是") private Integer shows; + @TableField(exist = false) + private Integer discNumber; @TableField(exist = false) private boolean disabled = true; diff --git a/src/main/java/com/sqx/modules/taskCenter/service/impl/TaskCenterServiceImpl.java b/src/main/java/com/sqx/modules/taskCenter/service/impl/TaskCenterServiceImpl.java index 4ff0ad56..473b6c98 100644 --- a/src/main/java/com/sqx/modules/taskCenter/service/impl/TaskCenterServiceImpl.java +++ b/src/main/java/com/sqx/modules/taskCenter/service/impl/TaskCenterServiceImpl.java @@ -139,29 +139,19 @@ public class TaskCenterServiceImpl extends ServiceImpl signWrapper = new QueryWrapper<>(); + signWrapper.eq("user_id", userId); + signWrapper.lt("sign_day", DateUtil.format(new Date(), "yyyy-MM") + "-00"); + signWrapper.orderByAsc("create_time"); + List signRecordList = signRecordService.list(signWrapper); + //TaskCenter的number为大转盘次数 List taskCenters = baseMapper.queryTaskDiscCenter(userId); - //大转盘任务 校验 次数 - return 0; + int countTaskDisc = 0; + Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00"); + for (TaskCenter taskCenter : taskCenters) { + if (taskCenter.getType().equals(2)) { + if (taskCenter.getNumber().equals(1)) { + if (dayOrderNum > 2 && recordService.countTaskNum(userId, taskCenter.getId(), DateUtil.today() + " 00:00:00") < 1) { + countTaskDisc = countTaskDisc + taskCenter.getDiscNumber(); + } + } else { + if (dayOrderNum > 2) { + if (signRecordList.size() - taskCenter.getNumber().intValue() >= -1 && recordService.countTaskNum(userId, taskCenter.getId(), DateUtil.beginOfMonth(new Date()).toString()) < 1) { + countTaskDisc = countTaskDisc + taskCenter.getDiscNumber(); + } + } else { + if (signRecordList.size() - taskCenter.getNumber().intValue() >= 0 && recordService.countTaskNum(userId, taskCenter.getId(), DateUtil.beginOfMonth(new Date()).toString()) < 1) { + countTaskDisc = countTaskDisc + taskCenter.getDiscNumber(); + } + } + + } + } + } + return countTaskDisc; } } diff --git a/src/main/resources/mapper/tashCenter/TaskCenterDto.xml b/src/main/resources/mapper/tashCenter/TaskCenterDto.xml index cdb6e2ce..d7682b5c 100644 --- a/src/main/resources/mapper/tashCenter/TaskCenterDto.xml +++ b/src/main/resources/mapper/tashCenter/TaskCenterDto.xml @@ -1,16 +1,15 @@ - - + + - - SELECT task.*, - reward.number as number + reward.number as discNumber FROM task_center_reward reward INNER JOIN task_center task ON reward.task_id = task.id and task.shows = 1 where reward.type = 9 and user_id = #{userId} - + \ No newline at end of file