diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/utc/entity/UserTaskComplete.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/utc/entity/UserTaskComplete.java index d12b7c0..a716153 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/utc/entity/UserTaskComplete.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/utc/entity/UserTaskComplete.java @@ -1,6 +1,8 @@ package com.qniao.dam.domain.aggregate.utc.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskStageEnum; +import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTypeEnum; import com.qniao.dam.domian.aggregate.utc.constant.UserTaskCompleteRewardReceiveStatusEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -27,6 +29,12 @@ public class UserTaskComplete extends Entity { @ApiModelProperty("关联每日任务模板ID") private Long taskTemplateId; + @ApiModelProperty("任务类型(1-每日任务,2-每周任务,3-每月任务)") + private TaskTypeEnum taskType; + + @ApiModelProperty("关联阶段编码(1-首月,2-次月,3-第三月+)") + private TaskStageEnum stageCode; + @ApiModelProperty("任务开始日期") private LocalDate taskStartDate; @@ -52,11 +60,15 @@ public class UserTaskComplete extends Entity { public static UserTaskComplete init(Long userId, Long taskTemplateId, + TaskTypeEnum taskType, + TaskStageEnum stageCode, LocalDate taskStartDate, LocalDate taskEndDate) { UserTaskComplete userTaskComplete = new UserTaskComplete(); userTaskComplete.setUserId(userId); userTaskComplete.setTaskTemplateId(taskTemplateId); + userTaskComplete.setTaskType(taskType); + userTaskComplete.setStageCode(stageCode); userTaskComplete.setTaskStartDate(taskStartDate); userTaskComplete.setTaskEndDate(taskEndDate); userTaskComplete.setCompleteStatus(false); 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 79f7456..5538d2b 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 @@ -173,9 +173,11 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService { if (Objects.nonNull(tuple.get(0))) { TaskTemplate taskTemplate = taskTemplateQueryService.queryBy(taskGroup, taskType, tuple.get(2)); if (Objects.nonNull(taskTemplate)) { - UserTaskComplete userTaskComplete = userTaskCompleteQueryService.queryBy(userId, taskTemplate.getId(), tuple.get(0), tuple.get(1)); + UserTaskComplete userTaskComplete = userTaskCompleteQueryService.queryBy(userId, taskType, tuple.get(0), tuple.get(1)); if (Objects.isNull(userTaskComplete)) { - userTaskComplete = UserTaskComplete.init(userId, taskTemplate.getId(), tuple.get(0), tuple.get(1)); + userTaskComplete = UserTaskComplete.init(userId, taskTemplate.getId(), taskType, tuple.get(2), tuple.get(0), tuple.get(1)); + } else { + userTaskComplete.setTaskTemplateId(taskTemplate.getId()); } //未完成 if (!userTaskComplete.getCompleteStatus()) { diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/UserTaskCompleteQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/UserTaskCompleteQueryService.java index 5fe1c85..61455ac 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/UserTaskCompleteQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/UserTaskCompleteQueryService.java @@ -4,6 +4,7 @@ import com.qniao.dam.api.query.utc.user.request.UserGetUserTaskCompleteQueryPara import com.qniao.dam.api.query.utc.user.response.UserGetUserTaskCompleteVo; import com.qniao.dam.domain.aggregate.utc.entity.UserSubTaskComplete; import com.qniao.dam.domain.aggregate.utc.entity.UserTaskComplete; +import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTypeEnum; import java.time.LocalDate; @@ -12,7 +13,7 @@ public interface UserTaskCompleteQueryService { UserGetUserTaskCompleteVo getUserTaskCompleteVo(UserGetUserTaskCompleteQueryParams queryParams); UserTaskComplete queryBy(Long userId, - Long taskTemplateId, + TaskTypeEnum taskType, LocalDate taskStartDate, LocalDate taskEndDate); diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/impl/UserTaskCompleteQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/impl/UserTaskCompleteQueryServiceImpl.java index f0bdf9c..e9cab26 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/impl/UserTaskCompleteQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/impl/UserTaskCompleteQueryServiceImpl.java @@ -55,7 +55,7 @@ public class UserTaskCompleteQueryServiceImpl implements UserTaskCompleteQuerySe if (Objects.nonNull(tuple.get(0))) { TaskTemplate taskTemplate = taskTemplateQueryService.queryBy(taskGroup, taskType, tuple.get(2)); if (Objects.nonNull(taskTemplate)) { - UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), taskTemplate.getId(), tuple.get(0), tuple.get(1)); + UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), taskType, tuple.get(0), tuple.get(1)); if (Objects.isNull(userTaskComplete)) { vo = TypeConvertUtils.convert(taskTemplate, UserGetUserTaskCompleteVo.class); vo.setTaskTemplateId(taskTemplate.getId()); @@ -93,12 +93,12 @@ public class UserTaskCompleteQueryServiceImpl implements UserTaskCompleteQuerySe } public UserTaskComplete queryBy(Long userId, - Long taskTemplateId, + TaskTypeEnum taskType, LocalDate taskStartDate, LocalDate taskEndDate) { return userTaskCompleteDao.selectOne(new LambdaQueryWrapper() .eq(UserTaskComplete::getUserId, userId) - .eq(UserTaskComplete::getTaskTemplateId, taskTemplateId) + .eq(UserTaskComplete::getTaskType, taskType) .eq(UserTaskComplete::getTaskStartDate, taskStartDate) .eq(UserTaskComplete::getTaskEndDate, taskEndDate) .last("LIMIT 1"));