Files
lpt-be/src/main/java/com/guo/learningprogresstracker/dto/request/TaskRequest.java
T

73 lines
2.5 KiB
Java

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;
/**
* 学习任务-请求参数-创建
*/
@Data
public class TaskRequest {
public interface Create{}
@Null(message = "创建时不可指定任务ID",groups = Ops.CreateG.class)
@NotNull(message = "更新时必须指定任务ID",groups = Ops.UpdateG.class)
private Integer id;
/**
* 学习任务的名称
*/
@NotEmpty(message = "必须指定非空的任务名称", groups = Ops.CreateG.class)
private String taskName;
/**
* 学习材料的存储URL
*/
private String materialUrl;
/**
* 用户设置的任务紧急性
*/
@NotNull(message = "必须指定【任务紧急性】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "urgency参数值必须大于等于0")
@Max(value = 5,message = "urgency参数值必须小于等于5")
private Integer urgency;
/**
* 用户设置的任务重要性
*/
@NotNull(message = "必须指定【任务重要性】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "importance参数值必须大于等于0")
@Max(value = 5,message = "importance参数值必须小于等于5")
private Integer importance;
/**
* 任务的内容难度
*/
@NotNull(message = "必须指定【内容难度】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "contentDifficulty参数值必须大于等于0")
@Max(value = 5,message = "contentDifficulty参数值必须小于等于5")
private Integer contentDifficulty;
/**
* 任务的未来价值
*/
@NotNull(message = "必须指定【未来价值】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "futureValue参数值必须大于等于0")
@Max(value = 5,message = "futureValue参数值必须小于等于5")
private Integer futureValue;
/**
* 用户对任务的主观优先级
*/
@NotNull(message = "必须指定【主观优先级】指标", groups = Ops.CreateG.class)
@Min(value = 0,message = "subjectivePriority参数值必须大于等于0")
@Max(value = 5,message = "subjectivePriority参数值必须小于等于5")
private Integer subjectivePriority;
}