|
|
|
@ -41,37 +41,42 @@ public class UserTaskCompleteQueryServiceImpl implements UserTaskCompleteQuerySe |
|
|
|
//任务群体处理 |
|
|
|
LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(queryParams.getQueryUserId()); |
|
|
|
if (Objects.nonNull(liveMatchmaker)) { |
|
|
|
TaskGroupEnum taskGroup = liveMatchmakerQueryService.getTaskGroup(liveMatchmaker); |
|
|
|
TaskStageEnum stageCode = TaskStageEnum.count(liveMatchmaker.getCreateTime().toLocalDate()); |
|
|
|
TaskTypeEnum taskType = TaskTypeEnum.get(queryParams.getTaskType()); |
|
|
|
Tuple tuple = taskTemplateQueryService.getTaskDate(taskType); |
|
|
|
TaskTemplate taskTemplate = taskTemplateQueryService.queryBy(taskGroup, taskType, stageCode); |
|
|
|
if (Objects.nonNull(taskTemplate)) { |
|
|
|
vo = TypeConvertUtils.convert(taskTemplate, UserGetUserTaskCompleteVo.class); |
|
|
|
vo.setTaskTemplateId(taskTemplate.getId()); |
|
|
|
UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), tuple.get(0), tuple.get(1)); |
|
|
|
if (Objects.isNull(userTaskComplete)) { |
|
|
|
TaskGroupEnum taskGroup = liveMatchmakerQueryService.getTaskGroup(liveMatchmaker); |
|
|
|
TaskStageEnum stageCode = TaskStageEnum.count(liveMatchmaker.getCreateTime().toLocalDate()); |
|
|
|
TaskTemplate taskTemplate = taskTemplateQueryService.queryBy(taskGroup, taskType, stageCode); |
|
|
|
if (Objects.nonNull(taskTemplate)) { |
|
|
|
vo = TypeConvertUtils.convert(taskTemplate, UserGetUserTaskCompleteVo.class); |
|
|
|
vo.setTaskTemplateId(taskTemplate.getId()); |
|
|
|
vo.setTaskStartDate(tuple.get(0)); |
|
|
|
vo.setTaskEndDate(tuple.get(1)); |
|
|
|
} |
|
|
|
} else { |
|
|
|
vo = new UserGetUserTaskCompleteVo(); |
|
|
|
vo.setTaskTemplateId(userTaskComplete.getTaskTemplateId()); |
|
|
|
vo.setTaskStartDate(tuple.get(0)); |
|
|
|
vo.setTaskEndDate(tuple.get(1)); |
|
|
|
UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), taskTemplate.getId(), tuple.get(0), tuple.get(1)); |
|
|
|
if (Objects.nonNull(userTaskComplete)) { |
|
|
|
vo.setUserTaskCompleteId(userTaskComplete.getId()); |
|
|
|
vo.setCompleteStatus(userTaskComplete.getCompleteStatus()); |
|
|
|
vo.setRewardReceiveStatus(userTaskComplete.getRewardReceiveStatus()); |
|
|
|
vo.setCompleteTime(userTaskComplete.getCompleteTime()); |
|
|
|
} |
|
|
|
vo.setUserTaskCompleteId(userTaskComplete.getId()); |
|
|
|
vo.setCompleteStatus(userTaskComplete.getCompleteStatus()); |
|
|
|
vo.setRewardReceiveStatus(userTaskComplete.getRewardReceiveStatus()); |
|
|
|
vo.setCompleteTime(userTaskComplete.getCompleteTime()); |
|
|
|
} |
|
|
|
if (Objects.nonNull(vo)) { |
|
|
|
//补充子任务进度 |
|
|
|
vo.setSubList(userTaskCompleteDao.listSubVo(taskTemplate.getId(), vo.getUserTaskCompleteId())); |
|
|
|
vo.setSubList(userTaskCompleteDao.listSubVo(vo.getTaskTemplateId(), vo.getUserTaskCompleteId())); |
|
|
|
} |
|
|
|
} |
|
|
|
return vo; |
|
|
|
} |
|
|
|
|
|
|
|
public UserTaskComplete queryBy(Long userId, |
|
|
|
Long taskTemplateId, |
|
|
|
LocalDate taskStartDate, |
|
|
|
LocalDate taskEndDate) { |
|
|
|
return userTaskCompleteDao.selectOne(new LambdaQueryWrapper<UserTaskComplete>() |
|
|
|
.eq(UserTaskComplete::getUserId, userId) |
|
|
|
.eq(UserTaskComplete::getTaskTemplateId, taskTemplateId) |
|
|
|
.eq(UserTaskComplete::getTaskStartDate, taskStartDate) |
|
|
|
.eq(UserTaskComplete::getTaskEndDate, taskEndDate) |
|
|
|
.last("LIMIT 1")); |
|
|
|
|