package com.cmvr.test.model.vo.inspection;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/** 仪表读数的单条告警规则配置。 */
@Data
@ApiModel(value = "InspectionAlarmRuleVO", description = "仪表读数多级告警规则")
public class InspectionAlarmRuleVO
{
    @ApiModelProperty(value = "告警级别：1提示、2警告、3严重", required = true,
            allowableValues = "1,2,3", example = "2")
    private Integer level;

    @ApiModelProperty(value = "比较运算符", required = true,
            allowableValues = "GT,GTE,LT,LTE,EQ,BETWEEN,NOT_BETWEEN", example = "GTE")
    private String operator;

    @ApiModelProperty(value = "GT/GTE/LT/LTE/EQ使用的比较阈值", example = "1.6")
    private BigDecimal threshold;

    @ApiModelProperty(value = "BETWEEN/NOT_BETWEEN使用的区间下界", example = "1.6")
    private BigDecimal minValue;

    @ApiModelProperty(value = "BETWEEN/NOT_BETWEEN使用的区间上界", example = "2.0")
    private BigDecimal maxValue;

    @ApiModelProperty(value = "区间规则是否包含下界，默认true", example = "true")
    private Boolean includeMin;

    @ApiModelProperty(value = "区间规则是否包含上界，默认true", example = "false")
    private Boolean includeMax;

    @ApiModelProperty(value = "命中规则后的告警描述", example = "压力过高")
    private String message;
}
