package com.ycl.jxkg.domain.form; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.jxkg.domain.base.AbsForm; import com.ycl.jxkg.domain.entity.ExamPaper; import com.ycl.jxkg.domain.exam.PaperFixQuestionDTO; import com.ycl.jxkg.domain.exam.PaperQuestion; import com.ycl.jxkg.domain.exam.PaperQuestionSettingDTO; import com.ycl.jxkg.group.Add; import com.ycl.jxkg.group.Update; import lombok.Data; import org.springframework.beans.BeanUtils; import org.springframework.lang.NonNull; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.Date; import java.util.List; @Data @TableName("t_exam_paper") public class ExamPaperForm extends AbsForm { /** * 试卷名称 */ @NotBlank(message = "试卷名称不能为空", groups = {Add.class, Update.class}) private String name; /** * 试卷类型( 1固定试卷 2.随即试卷 3.随序试卷) */ @NotNull (message = "试卷类型不能为空", groups = {Add.class, Update.class}) private Integer paperType; /** * 试卷总分 */ private String score; /** * 题目数量 */ private Integer num; /** * 建议时长(分钟) */ @Min(value = 1,message = "建议时间必须大于0",groups = {Add.class, Update.class}) private Integer suggestTime; private Integer createUser; @JsonFormat(pattern = "yyyy-mm-dd HH:mm:ss") private Date createTime; /** * 可见性,公开/私有 * */ private String visibility; /** * 多选扣分类型 * */ private Integer deductType; /** * 多选评分分数 * */ private BigDecimal deductTypeScore; /** * 题目配置 * */ private List questionSetting; /** * 题目信息 * */ private List questionTitleList; public static ExamPaper getEntityByForm(@NonNull ExamPaperForm form, ExamPaper entity) { if(entity == null) { entity = new ExamPaper(); } BeanUtils.copyProperties(form, entity); return entity; } }