package com.ycl.jxkg.domain.form; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.jxkg.domain.base.AbsForm; import com.ycl.jxkg.domain.entity.ExamTemplate; import com.ycl.jxkg.domain.question.TemplateQuestionDTO; import com.ycl.jxkg.group.Add; import com.ycl.jxkg.group.Update; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; 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; /** * 随机试卷模板表单 * * @author flq * @since 2024-06-05 */ @Data @ApiModel(value = "ExamTemplate表单", description = "随机试卷模板表单") public class ExamTemplateForm extends AbsForm { @NotBlank(message = "模板名不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("模板名") private String name; @NotNull (message = "学科id不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("学科id") private Integer subjectId; @ApiModelProperty("总分") private BigDecimal score; @ApiModelProperty("是否私有") private String visibility; @Min(value = 1,message = "建议时间必须大于0",groups = {Add.class, Update.class}) @ApiModelProperty("建议时间") private Integer suggestTime; @ApiModelProperty("多选扣分类型") private Integer deductType; @ApiModelProperty("多选扣分") private BigDecimal deductTypeScore; @ApiModelProperty("题目模板") private List questionList; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd") private Date createTime; private Integer createUser; public static ExamTemplate getEntityByForm(@NonNull ExamTemplateForm form, ExamTemplate entity) { if(entity == null) { entity = new ExamTemplate(); } BeanUtils.copyProperties(form, entity); return entity; } }