package com.njcn.csharmonic.pojo.param;

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

import javax.validation.constraints.NotBlank;

/**
 * 治理方案参数类
 *
 * @author xy
 * @since 2026-06-16
 */
@Data
public class PqGovernPlanParam {

    @ApiModelProperty(value = "用户id（关联pq_sensitive_user的id）")
    @NotBlank(message = "用户id不能为空")
    private String pid;

    @ApiModelProperty(value = "治理点名称")
    @NotBlank(message = "治理点名称不能为空")
    private String governName;

    @ApiModelProperty(value = "治理类型(稳态:harmonic 暂态:event)")
    @NotBlank(message = "治理类型不能为空")
    private String governType;

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

    @ApiModelProperty(value = "治理前-监测点id")
    private String governBefore;

    @ApiModelProperty(value = "治理后-监测点id")
    private String governAfter;

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

    /**
     * 修改参数类
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class UpdatePqGovernPlanParam extends PqGovernPlanParam {
        @ApiModelProperty("ID")
        @NotBlank(message = "ID不能为空")
        private String id;
    }

    /**
     * 分页查询参数类
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class QueryParam extends BaseParam {
        @ApiModelProperty(value = "治理点名称")
        private String governName;

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

        @ApiModelProperty(value = "用户id（关联pq_sensitive_user的id）")
        private String pid;
    }
}
