package com.zksy.base.alarm.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 预警阈值
 * @TableName warning_threshold
 */
@TableName(value ="warning_threshold")
@Data
public class WarningThreshold implements Serializable {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 设备名称
     */
    @TableField(value = "device_name")
    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    /**
     * 设备编码
     */
    @TableField(value = "device_code")
    @ApiModelProperty(value = "设备编码")
    private String deviceCode;

    /**
     * 设备类型
     */
    @TableField(value = "device_type")
    @ApiModelProperty(value = "设备类型")
    private String deviceType;

    /**
     * 预警类型
     */
    @TableField(value = "warning_type")
    @ApiModelProperty(value = "预警类型")
    private String warningType;

    /**
     * 预警编码
     */
    @TableField(value = "warning_code")
    @ApiModelProperty(value = "预警编码")
    private String warningCode;

    /**
     * 预警值
     */
    @TableField(value = "warning_value")
    @ApiModelProperty(value = "预警值")
    private Double warningValue;

    /**
     * 备注
     */
    @TableField(value = "remark")
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 关联设备ID
     */
    @TableField(value = "equipment_id")
    @ApiModelProperty(value = "关联设备ID")
    private String equipmentId;

    /**
     * 关联监测点ID
     */
    @TableField(value = "point_id")
    @ApiModelProperty(value = "关联监测点ID")
    private String pointId;

    /**
     * 监测类型
     */
    @TableField(value = "monitor_type")
    @ApiModelProperty(value = "监测类型（水位、流量、压力、温度等）")
    private String monitorType;

    /**
     * 预警级别
     */
    @TableField(value = "warning_level")
    @ApiModelProperty(value = "预警级别（1-蓝色 2-黄色 3-橙色 4-红色）")
    private String warningLevel;

    /**
     * 比较运算符
     */
    @TableField(value = "operator")
    @ApiModelProperty(value = "比较运算符（>、<、>=、<=、=、!=）")
    private String operator;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time")
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}