package jnpf.model.cultivate.dto.identify;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class IdentifyApplyDataPushDto {

    /**
     * 关联数据id（与鉴定结果回调保持一致）
     */
    @NotBlank(message = "关联数据id不能为空")
    private String dataId;

    /**
     * 鉴定来源(0-手动发起，1-课程学习鉴定，2-岗位学习鉴定，3-本人申请,4-任务鉴定)
     */
    @NotNull(message = "鉴定来源-不能为空")
    private Integer source;

    /**
     * 岗位/课程名称(比如：张三{岗位名称}的鉴定 || 张三{课程名称}的鉴定)
     */
    @Deprecated(since = "培训v1.3")
    private String name;

    /**
     * 鉴定表id
     */
    @NotBlank(message = "鉴定表id-不能为空")
    private String tableId;

    /**
     * 被鉴定人用户id
     */
    @NotBlank(message = "被鉴定人信息-不能为空")
    private String identifyUserId;
    /**
     * 学习完成时间
     */
    @NotNull(message = "学习完成时间-不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date studyFinishTime;
    /**
     * 是否打开可见性, 0 打开, 1 关闭
     * 默认为0
     */
    private Integer isTurnOnVisibility;

    /**
     * 岗位id
     */
    private String postId;
}