package com.njcn.device.pq.pojo.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @Author: cdf
 * @CreateTime: 2025-12-02
 * @Description:
 */
@Data
public class PqSensitiveUserParam {




    /**
     * 敏感用户名称
     */
    @NotBlank(message = "用户名称不可为空")
    @ApiModelProperty(name = "name",value = "用户名称不可为空")
    private String name;

    /**
     * 敏感负荷类型
     */
    @NotBlank(message = "敏感负荷类型不可为空")
    @ApiModelProperty(name = "loadType",value = "敏感负荷类型")
    private String loadType;

    /**
     * 用户协议容量
     */
    @Range(min = 0,max = 10000000 )
    @ApiModelProperty(name = "userAgreementCapacity",value = "用户协议容量")
    private Double userAgreementCapacity;

    /**
     * 装机容量
     */
    @Range(min = 0,max = 10000000 )
    @ApiModelProperty(name = "installedCapacity",value = "装机容量")
    private Double installedCapacity;

    /**
     * 所属厂站名称
     */
    @NotBlank(message = "所属厂站名称不可为空")
    @ApiModelProperty(name = "substationName",value = "所属厂站名称")
    private String substationName;

    /**
     * 排序
     */
    @NotNull(message = "排序不可为空")
    @ApiModelProperty(name = "sort",value = "排序")
    private Integer sort;


    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class UpdatePqSensitiveUserParam extends PqSensitiveUserParam{

        /**
         * id
         */
        @NotBlank(message = "id不可为空")
        @ApiModelProperty(name = "id",value = "id")
        private String id;
    }
}
