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<PaperQuestionSettingDTO> questionSetting;
|
|
/**
|
* 题目信息
|
* */
|
private List<PaperFixQuestionDTO> questionTitleList;
|
|
public static ExamPaper getEntityByForm(@NonNull ExamPaperForm form, ExamPaper entity) {
|
if(entity == null) {
|
entity = new ExamPaper();
|
}
|
BeanUtils.copyProperties(form, entity);
|
return entity;
|
}
|
}
|