package com.njcn.csharmonic.param;

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

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 稳态指标方案参数类
 *
 * @author xy
 * @since 2026-04-15
 */
@Data
public class CsHarmonicPlanParam {

    /**
     * 稳态方案名称
     */
    @ApiModelProperty(value = "稳态方案名称")
    @NotBlank(message = "稳态方案名称不能为空")
    private String name;

    /**
     * 稳态指标集合
     */
    @ApiModelProperty(value = "稳态指标集合")
    private String harmonicTarget;

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

    /**
     * 监测点id集合
     */
    @ApiModelProperty(value = "监测点id集合")
    private List<String> lineList;

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

    /**
     * 分页查询参数类
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class QueryParam extends BaseParam {
        @ApiModelProperty(value = "稳态方案名称")
        private String name;
    }
}
