package com.zcloud.primeport.dto;

import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

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

/**
 * web-client
 *
 * @Author makejava
 * @Date 2026-03-05 11:33:28
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class VehicleMessageUpdateCmd extends Command {
    @ApiModelProperty(value = "id", name = "id", required = true)
    @NotNull(message = "id不能为空")
    private Long id;
    @ApiModelProperty(value = "车牌类型数据字典", name = "licenceType", required = true)
    @NotEmpty(message = "车牌类型数据字典不能为空")
    private String licenceType;
    @ApiModelProperty(value = "车牌类型名称 白牌  1- 蓝牌   2-黄牌  3-绿牌   4-黑牌", name = "licenceTypeName", required = true)
    @NotEmpty(message = "车牌类型名称 白牌  1- 蓝牌   2-黄牌  3-绿牌   4-黑牌不能为空")
    private String licenceTypeName;
    @ApiModelProperty(value = "车牌号", name = "licenceNo", required = true)
    @NotEmpty(message = "车牌号不能为空")
    private String licenceNo;
    @ApiModelProperty(value = "车辆类型", name = "vehicleType", required = true)
    @NotEmpty(message = "车辆类型不能为空")
    private String vehicleType;
    @ApiModelProperty(value = "车辆类型-名字", name = "vehicleTypeName", required = true)
    @NotEmpty(message = "车辆类型-名字不能为空")
    private String vehicleTypeName;
    @ApiModelProperty(value = "车辆所属类型 1-股份员工车辆，2-股份单位车辆，3-分公司员工车辆，4-分公司单位车辆 ，5-相关方车辆， 6:临时车辆，7检查部门车辆", name = "vehicleBelongType", required = true)
    @NotEmpty(message = "车辆所属类型 1-股份员工车辆，2-股份单位车辆，3-分公司员工车辆，4-分公司单位车辆 ，5-相关方车辆， 6:临时车辆，7检查部门车辆不能为空")
    private String vehicleBelongType;
    @ApiModelProperty(value = "授权范围港区与区域", name = "gateLevelAuthArea", required = true)
    @NotEmpty(message = "授权范围港区与区域不能为空")
    private Object gateLevelAuthArea;
    @ApiModelProperty(value = "授权访问起始时间", name = "visitStartTime", required = true)
    @NotEmpty(message = "授权访问起始时间不能为空")
    private String visitStartTime;
    @ApiModelProperty(value = "授权访问结束时间", name = "visitEndTime", required = true)
    @NotEmpty(message = "授权访问结束时间不能为空")
    private String visitEndTime;
    @ApiModelProperty(value = "车辆申请id", name = "vehicleApplyId", required = true)
    @NotNull(message = "车辆申请id不能为空")
    private Long vehicleApplyId;
    @ApiModelProperty(value = "对接状态，1对接完成，2未对接", name = "syncStatus", required = true)
    @NotNull(message = "对接状态，1对接完成，2未对接不能为空")
    private Integer syncStatus;
    @ApiModelProperty(value = "对接说明", name = "syncRemarks", required = true)
    @NotEmpty(message = "对接说明不能为空")
    private String syncRemarks;
}

