From e7cb6b3baad5c55728ccfee2c1938065795ed45b Mon Sep 17 00:00:00 2001 From: Derran Date: Sat, 31 Jan 2026 09:55:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E6=92=AD=E7=BA=A2=E5=A8=98=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tasktemplate/entity/TaskTemplate.java | 1 - .../user/TaskTemplateUserQueryController.java | 28 +++++++++++++ .../user/response/SubTaskTemplateVo.java | 31 ++++++++++++++ .../response/UserTaskTemplateDetailVo.java | 42 +++++++++++++++++++ .../response/UserGetUserTaskCompleteVo.java | 4 ++ .../TaskTemplateQueryService.java | 3 ++ .../impl/TaskTemplateQueryServiceImpl.java | 16 +++++++ .../UserTaskCompleteQueryServiceImpl.java | 1 + 8 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/TaskTemplateUserQueryController.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/response/SubTaskTemplateVo.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/response/UserTaskTemplateDetailVo.java diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/tasktemplate/entity/TaskTemplate.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/tasktemplate/entity/TaskTemplate.java index 20dc8c2..ee79d8d 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/tasktemplate/entity/TaskTemplate.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/tasktemplate/entity/TaskTemplate.java @@ -9,7 +9,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import com.qniao.domain.Entity; -import java.math.BigDecimal; import java.util.List; /** diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/TaskTemplateUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/TaskTemplateUserQueryController.java new file mode 100644 index 0000000..a1fe0f1 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/TaskTemplateUserQueryController.java @@ -0,0 +1,28 @@ +package com.qniao.dam.api.query.tasktemplate.user; + +import com.qniao.dam.api.query.tasktemplate.user.response.UserTaskTemplateDetailVo; +import com.qniao.dam.query.tasktemplate.TaskTemplateQueryService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags = "任务模板") +@RestController +@RequestMapping("user") +public class TaskTemplateUserQueryController { + + @Resource + private TaskTemplateQueryService taskTemplateQueryService; + + @GetMapping("get/task-template/detail") + @ApiOperation("用户获取任务模板相亲") + public UserTaskTemplateDetailVo userGetTaskTemplateDetail(@RequestParam("id") Long id) { + return taskTemplateQueryService.getDetail(id); + } + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/response/SubTaskTemplateVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/response/SubTaskTemplateVo.java new file mode 100644 index 0000000..153d454 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/response/SubTaskTemplateVo.java @@ -0,0 +1,31 @@ +package com.qniao.dam.api.query.tasktemplate.user.response; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.qniao.dam.domian.aggregate.tasktemplate.constant.SubTaskTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class SubTaskTemplateVo { + + @ApiModelProperty("唯一标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("子任务名称") + private String subTaskName; + + @ApiModelProperty("子任务类型") + private SubTaskTypeEnum subTaskType; + + @ApiModelProperty("子任务描述") + private String subTaskDesc; + + @ApiModelProperty("要求次数") + private Integer requiredCount; + + @ApiModelProperty("排序") + private Integer sort; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/response/UserTaskTemplateDetailVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/response/UserTaskTemplateDetailVo.java new file mode 100644 index 0000000..1621d65 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/tasktemplate/user/response/UserTaskTemplateDetailVo.java @@ -0,0 +1,42 @@ +package com.qniao.dam.api.query.tasktemplate.user.response; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.qniao.dam.domain.aggregate.tasktemplate.entity.SubTaskTemplate; +import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskGroupEnum; +import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskStageEnum; +import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class UserTaskTemplateDetailVo { + + @ApiModelProperty("唯一标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("任务群体") + private TaskGroupEnum taskGroup; + + @ApiModelProperty("任务类型(1-每日任务,2-每周任务,2-每月任务)") + private TaskTypeEnum taskType; + + @ApiModelProperty("关联阶段编码(1-首月,2-次月,3-第三月+)") + private TaskStageEnum stageCode; + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务描述") + private String taskDesc; + + @ApiModelProperty("奖励") + private String rewardValue; + + @ApiModelProperty("子任务模板列表") + private List subList; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/utc/user/response/UserGetUserTaskCompleteVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/utc/user/response/UserGetUserTaskCompleteVo.java index df79331..a369682 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/utc/user/response/UserGetUserTaskCompleteVo.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/utc/user/response/UserGetUserTaskCompleteVo.java @@ -21,6 +21,10 @@ public class UserGetUserTaskCompleteVo { @JsonSerialize(using = ToStringSerializer.class) private Long userTaskCompleteId; + @ApiModelProperty("关联每日任务模板ID") + @JsonSerialize(using = ToStringSerializer.class) + private Long taskTemplateId; + @ApiModelProperty("任务群体") private TaskGroupEnum taskGroup; diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/TaskTemplateQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/TaskTemplateQueryService.java index c7cf71d..2232808 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/TaskTemplateQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/TaskTemplateQueryService.java @@ -1,6 +1,7 @@ package com.qniao.dam.query.tasktemplate; import cn.hutool.core.lang.Tuple; +import com.qniao.dam.api.query.tasktemplate.user.response.UserTaskTemplateDetailVo; import com.qniao.dam.domain.aggregate.tasktemplate.entity.SubTaskTemplate; import com.qniao.dam.domain.aggregate.tasktemplate.entity.TaskTemplate; import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskGroupEnum; @@ -18,4 +19,6 @@ public interface TaskTemplateQueryService { TaskStageEnum stageCode); List getSubList(Long taskTemplateId); + + UserTaskTemplateDetailVo getDetail(Long id); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/impl/TaskTemplateQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/impl/TaskTemplateQueryServiceImpl.java index 851ec7e..556d959 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/impl/TaskTemplateQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/impl/TaskTemplateQueryServiceImpl.java @@ -2,6 +2,8 @@ package com.qniao.dam.query.tasktemplate.impl; import cn.hutool.core.lang.Tuple; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qniao.dam.api.query.tasktemplate.user.response.SubTaskTemplateVo; +import com.qniao.dam.api.query.tasktemplate.user.response.UserTaskTemplateDetailVo; import com.qniao.dam.domain.aggregate.tasktemplate.entity.SubTaskTemplate; import com.qniao.dam.domain.aggregate.tasktemplate.entity.TaskTemplate; import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskGroupEnum; @@ -10,6 +12,7 @@ import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTypeEnum; import com.qniao.dam.infrastructure.persistent.dao.tasktemplate.SubTaskTemplateDao; import com.qniao.dam.infrastructure.persistent.dao.tasktemplate.TaskTemplateDao; import com.qniao.dam.query.tasktemplate.TaskTemplateQueryService; +import com.qniao.framework.utils.TypeConvertUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -18,6 +21,7 @@ import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; import java.util.Collections; import java.util.List; +import java.util.Objects; @Service public class TaskTemplateQueryServiceImpl implements TaskTemplateQueryService { @@ -72,4 +76,16 @@ public class TaskTemplateQueryServiceImpl implements TaskTemplateQueryService { .eq(SubTaskTemplate::getTaskTemplateId, taskTemplateId) .orderByAsc(SubTaskTemplate::getSort)); } + + @Override + public UserTaskTemplateDetailVo getDetail(Long id) { + UserTaskTemplateDetailVo detailVo = null; + TaskTemplate taskTemplate = taskTemplateDao.selectById(id); + if (Objects.nonNull(taskTemplate)) { + detailVo = TypeConvertUtils.convert(taskTemplate, UserTaskTemplateDetailVo.class); + List subList = getSubList(id); + detailVo.setSubList(TypeConvertUtils.convert(subList, SubTaskTemplateVo.class)); + } + return detailVo; + } } \ No newline at end of file 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 92d36d9..20145eb 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 @@ -48,6 +48,7 @@ public class UserTaskCompleteQueryServiceImpl implements UserTaskCompleteQuerySe 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)); UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), taskTemplate.getId(), tuple.get(0), tuple.get(1));