package cn.seecoder.judgement.dto; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.validation.constraints.Past; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Map; /** * @author cst */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class StudentAnswerDTO implements Serializable { // @NotEmpty(message = "回答不能为空") // private Map answers; @NotNull(message = "用户id不能为空") String userId; @NotNull(message = "缺少做题记录") @Valid private Map records; @Data public static class AnswerRecordDTO { @NotNull(message = "缺少答案") private Object answer; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @NotNull(message = "缺少做题开始时间") @Past(message = "开始时间错误") private LocalDateTime startAt; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @NotNull(message = "缺少做题结束时间") @Past(message = "结束时间错误") private LocalDateTime endAt; } }