
package jnpf.model.cultivate.v2.identify.req;

import jnpf.model.cultivate.v2.identify.vo.V2IdentifyTableScoreConfigVo;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Data
public class V2IdentifyTableSaveReq {
    /**
     * 鉴定名称
     */
    @NotBlank(message = "鉴定名称-不能为空")
    @Length(max = 50, message = "鉴定表名称不能大于50个字符")
    private String name;
    /**
     * 分类id
     */
    private String labelId;

    /**
     * 课程封面Id
     */
    @NotBlank(message = "封面id-不能为空")
    private String coverId;
    /**
     * 任务封面Url
     */
    @NotBlank(message = "封面路径不能为空")
    private String coverUrl;


    /**
     * 鉴定评分类型：0-等第制，1-等级制
     */
    @NotNull(message = "鉴定评分类型-不能为空")
    private Integer scoreType;

    /**
     * 规则说明
     */
    @Length(max = 500, message = "规则说明不能超过500个字符")
    private String ruleDesc;

    /**
     * 合格分数类型（1固定分，2百分比）
     */
    @NotNull(message = "合格分数类型-不能为空")
    private Integer passType;

    /**
     * 合格分数
     */
    @NotNull(message = "合格分数-不能为空")
    private BigDecimal passScore;

    /**
     * 优秀分数类型（1固定分，2百分比）
     */
    @NotNull(message = "优秀分数类型-不能为空")
    private Integer excellentType;

    /**
     * 优秀分数
     */
    @NotNull(message = "优秀分数-不能为空")
    private BigDecimal excellentScore;

    /**
     * 鉴定项集合
     */
    @NotEmpty(message = "鉴定项集合-不能为空")
    private List<V2IdentifyItemsSaveReq> identifyItemList;

    /**
     * 等级制配置
     */
    private List<V2IdentifyTableScoreConfigVo> scoreConfig;

    /**
     * 证书id
     */
    private String certificateId;
}