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;

/**
 * web-client
 *
 * @Author makejava
 * @Date 2026-03-05 11:33:14
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MkmjAddCmd extends Command {
    @ApiModelProperty(value = "口门名称", name = "mkmjName", required = true)
    @NotEmpty(message = "口门名称不能为空")
    private String mkmjName;
    @ApiModelProperty(value = "口门级别 1-一级  2-二级", name = "mkmjLevel", required = true)
    @NotNull(message = "口门级别 1-一级  2-二级不能为空")
    private Integer mkmjLevel;
    @ApiModelProperty(value = "口门类型", name = "mkmjType", required = true)
    @NotEmpty(message = "口门类型")
    private String mkmjType;
    @ApiModelProperty(value = "所属港区", name = "hgAuthArea", required = true)
    @NotEmpty(message = "所属港区不能为空")
    private String hgAuthArea;
    @ApiModelProperty(value = "所属港区名称", name = "hgAuthAreaName", required = true)
    @NotEmpty(message = "所属港区名称不能为空")
    private String hgAuthAreaName;
    @ApiModelProperty(value = "口门类型名称1-人行 2-车行 3-综合", name = "mkmjTypeName", required = true)
    @NotEmpty(message = "口门类型名称1-人行 2-车行 3-综合不能为空")
    private String mkmjTypeName;
    @ApiModelProperty(value = "口门状态 1-停用 2-正常", name = "mkmjStatus", required = true)
    @NotNull(message = "口门状态 1-停用 2-正常不能为空")
    private Integer mkmjStatus;
    @ApiModelProperty(value = "入方向区域- 二级有用", name = "inDirectionArea", required = true)
    private Long inDirectionArea;
    @ApiModelProperty(value = "入方向区域名称- 二级有用", name = "inDirectionAreaName", required = true)
    private String inDirectionAreaName;
    @ApiModelProperty(value = "出方向区域- 二级有用", name = "outDirectionArea", required = true)
    private Long outDirectionArea;
    @ApiModelProperty(value = "出方向区域名称- 二级有用", name = "outDirectionAreaName", required = true)
    private String outDirectionAreaName;
    @ApiModelProperty(value = "封闭区域id 二级有用", name = "closedAreaId")
    private Long closedAreaId;
    @ApiModelProperty(value = "封闭区域进出类型 1离场，2离开进入其他区域", name = "outDirectionType")
    private Integer outDirectionType;
    @ApiModelProperty(value = "经度", name = "longitude", required = true)
    private String longitude;
    @ApiModelProperty(value = "纬度", name = "latitude", required = true)
    private String latitude;
    @ApiModelProperty(value = "口门位置", name = "remarks")
    private String remarks;
    @ApiModelProperty(value = "管辖单位id", name = "mkmjAreaJurisdictionalCorpId")
    private Long mkmjAreaJurisdictionalCorpId;
}

