package com.ningdatech.carapi.driver.model.po;

import com.ningdatech.carapi.driver.constant.TrainingTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * @author liuxinxin
 * @date 2022/10/26 下午4:22
 */
@Data
@ApiModel("上传合格证")
public class ReqUploadCertificatePO {

    private static final long serialVersionUID = 1L;

    @NotNull
    @ApiModelProperty("驾驶员id")
    private Long driverId;

    @NotBlank
    @ApiModelProperty("合格证编号")
    private String certificateNo;

    @NotBlank
    @ApiModelProperty("发证单位")
    private String issuedBy;

    @NotNull
    @ApiModelProperty("发证日期")
    private LocalDateTime issueDate;

    @NotNull
    @ApiModelProperty("有效期至")
    private LocalDateTime expiryDate;

    @ApiModelProperty("备注")
    private String remark;

    /**
     * 培训类型 取证培训/继续教育/换证培训/转码培训
     * {@link TrainingTypeEnum}
     */
    @NotNull(message = "培训类型不能为空")
    @ApiModelProperty(value = "考试类型 取证培训/继续教育/换证培训/转码培训",
            allowableValues = "forensic_registration_training 取证报名," +
                    "replacement_registration_training 换证报名 ," +
                    "continuing_education_training 继续教育," +
                    "transcoding_training 转码培训")
    private String examType;

}
