diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/utc/UserTaskCompleteEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/utc/UserTaskCompleteEventHandler.java index 8be1ab9..d803834 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/utc/UserTaskCompleteEventHandler.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/utc/UserTaskCompleteEventHandler.java @@ -112,17 +112,23 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService { Integer commitCount) { LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(userId); if (Objects.nonNull(liveMatchmaker)) { - TaskGroupEnum taskGroup = liveMatchmakerQueryService.getTaskGroup(liveMatchmaker); - TaskStageEnum stageCode = TaskStageEnum.count(liveMatchmaker.getCreateTime().toLocalDate()); - //查询任务模板 放redis - TaskTemplate taskTemplate = taskTemplateQueryService.queryBy(taskGroup, TaskTypeEnum.DAILY_TASK, stageCode); + Tuple tuple = taskTemplateQueryService.getTaskDate(TaskTypeEnum.DAILY_TASK); + UserTaskComplete userTaskComplete = userTaskCompleteQueryService.queryBy(userId, tuple.get(0), tuple.get(1)); + TaskTemplate taskTemplate = null; + if (Objects.isNull(userTaskComplete)) { + TaskGroupEnum taskGroup = liveMatchmakerQueryService.getTaskGroup(liveMatchmaker); + TaskStageEnum stageCode = TaskStageEnum.count(liveMatchmaker.getCreateTime().toLocalDate()); + //查询任务模板 放redis + taskTemplate = taskTemplateQueryService.queryBy(taskGroup, TaskTypeEnum.DAILY_TASK, stageCode); + } else { + //今日有任务 + taskTemplate = taskTemplateDao.selectById(userTaskComplete.getTaskTemplateId()); + } if (Objects.nonNull(taskTemplate)) { List subTaskTemplateList = taskTemplateQueryService.getSubList(taskTemplate.getId()); for (SubTaskTemplate subTaskTemplate : subTaskTemplateList) { if (subTaskTemplate.getSubTaskType().equals(subTaskType)) { //存在子任务 - Tuple tuple = taskTemplateQueryService.getTaskDate(TaskTypeEnum.DAILY_TASK); - UserTaskComplete userTaskComplete = userTaskCompleteQueryService.queryBy(userId, taskTemplate.getId(), tuple.get(0), tuple.get(1)); UserSubTaskComplete userSubTaskComplete = null; if (Objects.isNull(userTaskComplete)) { userTaskComplete = UserTaskComplete.init(userId, taskTemplate.getId(), tuple.get(0), tuple.get(1)); @@ -155,7 +161,6 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService { } } - @Subscribe private void handle(UserTaskCompleteCommittedEvent event) { try { @@ -182,7 +187,7 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService { walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); WalletAccountRecord walletAccountRecord = WalletAccountRecord.build(TradeTypeEnum.TASK_REWARD, revenue, true, originalBalance, walletAccount.getTotalBalance()); walletAccount.setRecordList(Collections.singletonList(walletAccountRecord)); - completeUserTaskCompleteDomainService.handle(userTaskComplete,walletAccount); + completeUserTaskCompleteDomainService.handle(userTaskComplete, walletAccount); } } }