完善框架结构,解决了validation和saToken的问题

This commit is contained in:
guo
2024-07-14 23:00:59 +08:00
parent b1358eaca0
commit e759ab2a75
14 changed files with 315 additions and 64 deletions
@@ -1,6 +1,11 @@
package com.guo.learningprogresstracker.dto.request;
import com.guo.learningprogresstracker.common.Ops;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Null;
import lombok.Data;
/**
@@ -8,11 +13,15 @@ import lombok.Data;
*/
@Data
public class TaskRequest {
static class Create{}
public interface Create{}
@Null(message = "创建时不可指定任务ID",groups = Ops.CreateG.class)
@NotEmpty(message = "更新时必须指定任务ID",groups = Ops.UpdateG.class)
private Integer id;
/**
* 学习任务的名称
*/
@NotEmpty(message = "必须指定非空的任务名称", groups = TaskRequest.Create.class)
@NotEmpty(message = "必须指定非空的任务名称", groups = Ops.CreateG.class)
private String taskName;
/**
@@ -23,31 +32,41 @@ public class TaskRequest {
/**
* 用户设置的任务紧急性
*/
@NotEmpty(message = "必须指定【任务紧急性】指标", groups = Create.class)
@NotNull(message = "必须指定【任务紧急性】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "urgency参数值必须大于等于0")
@Max(value = 5,message = "urgency参数值必须小于等于5")
private Integer urgency;
/**
* 用户设置的任务重要性
*/
@NotEmpty(message = "必须指定【任务重要性】指标", groups = Create.class)
@NotNull(message = "必须指定【任务重要性】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "importance参数值必须大于等于0")
@Max(value = 5,message = "importance参数值必须小于等于5")
private Integer importance;
/**
* 任务的内容难度
*/
@NotEmpty(message = "必须指定【内容难度】指标", groups = Create.class)
@NotNull(message = "必须指定【内容难度】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "contentDifficulty参数值必须大于等于0")
@Max(value = 5,message = "contentDifficulty参数值必须小于等于5")
private Integer contentDifficulty;
/**
* 任务的未来价值
*/
@NotEmpty(message = "必须指定【未来价值】指标", groups = Create.class)
@NotNull(message = "必须指定【未来价值】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "futureValue参数值必须大于等于0")
@Max(value = 5,message = "futureValue参数值必须小于等于5")
private Integer futureValue;
/**
* 用户对任务的主观优先级
*/
@NotEmpty(message = "必须指定【主观优先级】指标", groups = Create.class)
@NotNull(message = "必须指定【主观优先级】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "subjectivePriority参数值必须大于等于0")
@Max(value = 5,message = "subjectivePriority参数值必须小于等于5")
private Integer subjectivePriority;
}
@@ -1,23 +1,57 @@
package com.guo.learningprogresstracker.dto.response;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.util.List;
@Data
public class TaskInfoResponse {
// 任务列表
private List<TaskInfo> taskList;
private int id;
/**
* 任务编码
*/
private String taskNum;
/**
* 学习任务的名称
*/
private String taskName;
/**
* 学习材料的存储URL
*/
private String materialUrl;
/**
* 用户设置的任务紧急性
*/
private Integer urgency;
/**
* 用户设置的任务重要性
*/
private Integer importance;
/**
* 任务的内容难度
*/
private Integer contentDifficulty;
/**
* 任务的未来价值
*/
private Integer futureValue;
/**
* 用户对任务的主观优先级
*/
private Integer subjectivePriority;
/**
* 通过算法计算得出的任务优先级
*/
private Double calculatedPriority;
static class TaskInfo{
// 任务名称
private String taskName;
// 任务描述
private String taskDescription;
// 任务优先级
private Integer taskPriority;
// 上次该任务学习情况
private String lastLearningStatus;
}
}
@@ -0,0 +1,26 @@
package com.guo.learningprogresstracker.dto.response;
import lombok.Data;
import java.util.List;
/**
* 任务列表信息响应体
*/
@Data
public class TasksListInfoResponse {
// 任务列表
private List<TaskInfo> taskList;
static class TaskInfo{
// 任务名称
private String taskName;
// 任务描述
private String taskDescription;
// 任务优先级
private Integer taskPriority;
// 上次该任务学习情况
private String lastLearningStatus;
}
}