package com.securitycontrol.entity.background.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * @author：cwchen
 * @date：2024-03-20-14:12
 * @version：1.0
 * @description：边带子设备-vo
 */
@Data
public class DeviceBdChildVo {

    @ApiModelProperty(value = "设备id")
    private String deviceId;

    @ApiModelProperty(value = "设备编码")
    @NotBlank(message = "设备编码不能为空", groups = {Query.class})
    @Length(max = 80, message = "设备编码字符长度不能超过80", groups = {Query.class})
    private String deviceCode;

    @ApiModelProperty(value = "设备类型")
    @NotBlank(message = "设备类型不能为空", groups = {Query.class})
    @Length(max = 80, message = "设备类型字符长度不能超过80", groups = {Query.class})
    private String deviceType;

    @ApiModelProperty(value = "设备状态")
    @NotBlank(message = "设备状态不能为空", groups = {Query.class})
    @Length(max = 10, message = "设备状态字符长度不能超过10", groups = {Query.class})
    private String status;

    @ApiModelProperty(value = "设备编码-边带设备id")
    @Length(max = 80, message = "设备网络字符长度不能超过80", groups = {Query.class})
    private String bdCode;

    @ApiModelProperty(value = "设备名称")
    @NotBlank(message = "设备名称不能为空", groups = {Query.class})
    @Length(max = 50, message = "设备名称字符长度不能超过50", groups = {Query.class})
    private String deviceName;

    @ApiModelProperty(value = "更新时间")
    private String createTime;

    @ApiModelProperty(value = "创建时间/入场时间")
    private String updateTime;

    @ApiModelProperty(value = "设备信号")
    @NotBlank(message = "设备信号不能为空", groups = {Query.class})
    @Length(max = 50, message = "设备信号字符长度不能超过50", groups = {Query.class})
    private String deviceModel;

    @ApiModelProperty(value = "边带ID")
    private String bdId;

    @ApiModelProperty(value = "边带名称")
    private String bdName;

    @ApiModelProperty(value = "1.新增 2.修改")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Integer type;

    @ApiModelProperty(value = "区域ID")
    private String areaId;

    @ApiModelProperty(value = "区域名称")
    private String areaName;

    @ApiModelProperty(value = "杆塔ID")
    private String gtId;
    /**
     * 查询条件限制
     */
    public interface Query {
    }
}
