|
|
|
@ -52,39 +52,41 @@ public class UserTaskCompleteQueryServiceImpl implements UserTaskCompleteQuerySe |
|
|
|
TaskGroupEnum taskGroup = liveMatchmakerQueryService.getTaskGroup(liveMatchmaker); |
|
|
|
TaskTypeEnum taskType = TaskTypeEnum.get(queryParams.getTaskType()); |
|
|
|
Tuple tuple = taskTemplateQueryService.getTaskDate(taskType, liveMatchmaker.getCreateTime()); |
|
|
|
TaskStageEnum stageCode = TaskStageEnum.count(liveMatchmaker.getCreateTime().toLocalDate()); |
|
|
|
TaskTemplate taskTemplate = taskTemplateQueryService.queryBy(taskGroup, taskType, stageCode); |
|
|
|
if (Objects.nonNull(taskTemplate)) { |
|
|
|
UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), taskTemplate.getId(), tuple.get(0), tuple.get(1)); |
|
|
|
if (Objects.isNull(userTaskComplete)) { |
|
|
|
vo = TypeConvertUtils.convert(taskTemplate, UserGetUserTaskCompleteVo.class); |
|
|
|
vo.setTaskTemplateId(taskTemplate.getId()); |
|
|
|
vo.setTaskStartDate(tuple.get(0)); |
|
|
|
vo.setTaskEndDate(tuple.get(1)); |
|
|
|
} else { |
|
|
|
vo = TypeConvertUtils.convert(taskTemplate, UserGetUserTaskCompleteVo.class); |
|
|
|
vo.setTaskTemplateId(taskTemplate.getId()); |
|
|
|
vo.setTaskStartDate(tuple.get(0)); |
|
|
|
vo.setTaskEndDate(tuple.get(1)); |
|
|
|
vo.setUserTaskCompleteId(userTaskComplete.getId()); |
|
|
|
vo.setCompleteStatus(userTaskComplete.getCompleteStatus()); |
|
|
|
vo.setRewardReceiveStatus(userTaskComplete.getRewardReceiveStatus()); |
|
|
|
vo.setCompleteTime(userTaskComplete.getCompleteTime()); |
|
|
|
if (Objects.nonNull(tuple.get(0))){ |
|
|
|
TaskStageEnum stageCode = TaskStageEnum.count(liveMatchmaker.getCreateTime().toLocalDate()); |
|
|
|
TaskTemplate taskTemplate = taskTemplateQueryService.queryBy(taskGroup, taskType, stageCode); |
|
|
|
if (Objects.nonNull(taskTemplate)) { |
|
|
|
UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), taskTemplate.getId(), tuple.get(0), tuple.get(1)); |
|
|
|
if (Objects.isNull(userTaskComplete)) { |
|
|
|
vo = TypeConvertUtils.convert(taskTemplate, UserGetUserTaskCompleteVo.class); |
|
|
|
vo.setTaskTemplateId(taskTemplate.getId()); |
|
|
|
vo.setTaskStartDate(tuple.get(0)); |
|
|
|
vo.setTaskEndDate(tuple.get(1)); |
|
|
|
} else { |
|
|
|
vo = TypeConvertUtils.convert(taskTemplate, UserGetUserTaskCompleteVo.class); |
|
|
|
vo.setTaskTemplateId(taskTemplate.getId()); |
|
|
|
vo.setTaskStartDate(tuple.get(0)); |
|
|
|
vo.setTaskEndDate(tuple.get(1)); |
|
|
|
vo.setUserTaskCompleteId(userTaskComplete.getId()); |
|
|
|
vo.setCompleteStatus(userTaskComplete.getCompleteStatus()); |
|
|
|
vo.setRewardReceiveStatus(userTaskComplete.getRewardReceiveStatus()); |
|
|
|
vo.setCompleteTime(userTaskComplete.getCompleteTime()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (Objects.nonNull(vo)) { |
|
|
|
//补充子任务进度 |
|
|
|
List<SubTaskTemplate> subTaskTemplateList = taskTemplateQueryService.getSubList(taskTemplate.getId()); |
|
|
|
if (CollUtil.isNotEmpty(subTaskTemplateList)) { |
|
|
|
List<UserGetUserSubTaskCompleteVo> subList = new ArrayList<>(); |
|
|
|
for (SubTaskTemplate subTaskTemplate : subTaskTemplateList) { |
|
|
|
UserGetUserSubTaskCompleteVo subTaskCompleteVo = TypeConvertUtils.convert(subTaskTemplate, UserGetUserSubTaskCompleteVo.class); |
|
|
|
int completeCount = userDailyTaskProgressQueryService.count(queryParams.getQueryUserId(), subTaskTemplate.getSubTaskType(), tuple.get(0), tuple.get(1)); |
|
|
|
subTaskCompleteVo.setCompleteCount(completeCount); |
|
|
|
subTaskCompleteVo.setCompleteStatus(completeCount >= subTaskTemplate.getRequiredCount()); |
|
|
|
subList.add(subTaskCompleteVo); |
|
|
|
if (Objects.nonNull(vo)) { |
|
|
|
//补充子任务进度 |
|
|
|
List<SubTaskTemplate> subTaskTemplateList = taskTemplateQueryService.getSubList(taskTemplate.getId()); |
|
|
|
if (CollUtil.isNotEmpty(subTaskTemplateList)) { |
|
|
|
List<UserGetUserSubTaskCompleteVo> subList = new ArrayList<>(); |
|
|
|
for (SubTaskTemplate subTaskTemplate : subTaskTemplateList) { |
|
|
|
UserGetUserSubTaskCompleteVo subTaskCompleteVo = TypeConvertUtils.convert(subTaskTemplate, UserGetUserSubTaskCompleteVo.class); |
|
|
|
int completeCount = userDailyTaskProgressQueryService.count(queryParams.getQueryUserId(), subTaskTemplate.getSubTaskType(), tuple.get(0), tuple.get(1)); |
|
|
|
subTaskCompleteVo.setCompleteCount(completeCount); |
|
|
|
subTaskCompleteVo.setCompleteStatus(completeCount >= subTaskTemplate.getRequiredCount()); |
|
|
|
subList.add(subTaskCompleteVo); |
|
|
|
} |
|
|
|
vo.setSubList(subList); |
|
|
|
} |
|
|
|
vo.setSubList(subList); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|