package com.njcn.csdevice.pojo.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * 
 * Description:
 * 接口文档访问地址：http://serverIP:port/swagger-ui.html
 * Date: 2023/3/30  16:23【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */

@Data
public class CsEquipmentDeliveryAddParm implements Serializable {

    /**
     * 装置名称
     */
    @ApiModelProperty(value="装置名称")
    @NotBlank(message="装置名称不能为空！")
    private String name;

    /**
     * 网关识别码
     */
    @ApiModelProperty(value="网络设备ID")
    @NotBlank(message="网络设备ID不能为空！")
    @Pattern(regexp = "^[A-Za-z0-9]{6,32}$", message = "网络设备ID只可为数字或字母,长度至少为6位")
    private String ndid;

    /**
     * 装置mac地址
     */
    @ApiModelProperty(value="装置mac地址")
    private String mac;

    /**
     * 装置类型(直连设备、网关设备)
     */
    @ApiModelProperty(value="装置类型")
    @NotBlank(message="装置类型不能为空！")
    private String devType;

    /**
     * 装置型号（pqs588、pqs680...）
     */
    @ApiModelProperty(value="装置型号")
    @NotBlank(message="装置型号不能为空！")
    private String devModel;

    /**
     * 合同号
     */
    @ApiModelProperty(value="合同号")
    private String cntractNo;

    /**
     * 装置接入方式
     */
    @ApiModelProperty(value="装置接入方式")
    private String devAccessMethod;

    /**
     * 软件信息表id
     */
    @ApiModelProperty(value="软件信息")
    private String softinfoId;

    /**
     * 模块个数
     */
    @ApiModelProperty(value="模块个数")
    private Integer modelNumber;

    @ApiModelProperty(value="排序")
    private Integer sort;

    @ApiModelProperty(value="前置机id")
    private String nodeId;

    @ApiModelProperty(value="前置机进程号")
    private Integer nodeProcess;

    @ApiModelProperty(value="模板id")
    private String modelId;

    @ApiModelProperty(value="工程id")
    private String engineeringId;

    @ApiModelProperty(value="项目id")
    private String projectId;

    @ApiModelProperty(value="日志等级(NORMAL、DEBUG、WARN、ERROR)")
    private String devLogLevel;

    @ApiModelProperty(value="所属工程")
    private String associatedEngineering;

    @ApiModelProperty(value="所属项目")
    private String associatedProject;

    @ApiModelProperty(value="icd")
    private String icd;

    @ApiModelProperty(value="是否支持升级(0:否 1:是)")
    private Integer upgrade;

    @ApiModelProperty(value="治理方法")
    private String governMethod;

    @ApiModelProperty(value="敏感用户id")
    private String monitorUser;

    @ApiModelProperty(value="治理类型(稳态:harmonic 暂态:event)")
    private String governType;
}