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 KwfTruckLicenseDto {

    /**
     * 车辆行驶证信息主键ID
     */
    private Long id;

    /**
     * 车牌号
     */
    private Long truckId;

    /**
     * 车辆识别码
     */
    @Size(max=20, message = "车辆识别码长度不能大于20个字符！")
    private String vin;

    /**
     * 车辆行驶证号
     */
    @Size(max=20, message = "车辆行驶证号长度不能大于20个字符！")
    private String drivingNo;

    /**
     * 车辆所有人
     */
    @Size(max=25, message = "车辆所有人长度不能大于25个字符！")
    private String owner;

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

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

    /**
     * 发证机关单位
     */
    @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);
    }

}
