package com.sckw.fleet.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sckw.core.utils.FileUtils;
import jakarta.validation.constraints.Size;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author zk
 * @desc 车辆道路运输许可证
 * @date 2023/7/12 0012
 */
@Data
public class KwfTransportLicenseDto {

    /**
     * 车辆道路运输许可证信息主键ID
     */
    private Long id;

    /**
     * 车辆信息主键ID
     */
    private Long truckId;

    /**
     * 道路运输证号
     */
    @Size(max=20, message = "道路运输证号不能大于20个字符！")
    private String roadTranNo;

    /**
     * 企业名称
     */
    @Size(max=20, message = "企业名称长度不能大于20个字符！")
    private String firmName;

    /**
     * 经营许可证号
     */
    @Size(max=20, message = "经营许可证号长度不能大于20个字符！")
    private String businessLicenseNo;

    /**
     * 发证日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date grantTime;

    /**
     * 有效期至
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date expireTime;

    /**
     * 发证机关单位
     */
    @Size(max=40, message = "发证机关单位长度不能大于40个字符！")
    private String grantUnit;

    /**
     * 证书正面URL地址
     */
    @Size(max=200, message = "证书正面URL地址长度不能大于200个字符！")
    private String certificateMain;

    /**
     * 证书反面URL地址
     */
    @Size(max=200, message = "证书反面URL地址长度不能大于200个字符！")
    private String certificateRevolt;

    public void setCertificateMain(String certificateMain) {
        this.certificateMain = FileUtils.replaceAll(certificateMain);
    }

    public void setCertificateRevolt(String certificateRevolt) {
        this.certificateRevolt = FileUtils.replaceAll(certificateRevolt);
    }
}
