package com.njcn.energy.pojo.param;

import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * <p>
 *
 * </p>
 *
 * @author cdf
 * @since 2022-02-22
 */
@Data
public class NetDevParam {


    /**
     * 联网设备名称
     */
    @ApiModelProperty(value = "名称",required = true)
    @NotBlank(message = "网关设备名称不可为空")
    private String name;

    /**
     * 联网设备ID
     */
    @ApiModelProperty(value = "联网设备ID",required = true)
    @NotBlank(message = "网关设备ID不可为空")
    private String ndid;

    /**
     * 关联版本信息表Id
     */
    private String versionId;

    /**
     * 联网设备型号（字典表）
     */
    private String type;

    /**
     * 联网设备接入网络方式 “4G” “WIFI” （字典表）
     */
    private String netType;

    /**
     * 用户ID
     */
    private String uid;

    /**
     * 子用户信息
     */
    private String cUid;

    /**
     * 硬件信息表Id
     */
    private String info;

    /**
     * 状态
     */
    private Integer state;

    /**
     * 排序字段
     * @author cdf
     * @date 2022/4/20
     */
    @ApiModelProperty(value = "排序字段",required = true)
    @NotBlank(message = "排序字段不可为空")
    private Integer sort;

    /**
     * 更新操作实体
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class NetDevUpdateParam extends NetDevParam {

        @ApiModelProperty("id")
        @NotBlank(message = ValidMessage.ID_NOT_BLANK)
        @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
        private String id;

    }

    /**
     * 分页查询实体
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class NetDevQueryParam extends BaseParam {


    }


}
