package cn.com.ctop.alarm.modules.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 预警规则记录表
 *
 * @author jeecg-boot
 * @version V1.0
 * @date 2021-01-18
 */
@Data
@TableName("ctop_alarm_rule_record")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "ctop_alarm_rule_record对象", description = "预警规则记录表")
public class AlarmRuleRecord {

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    private Long id;

    private Long accountId;

    private Long planId;

    private Long unitId;

    private Long creativeId;
    /**
     * 规则id
     */
    @Excel(name = "规则id", width = 15)
    @ApiModelProperty(value = "规则id")
    private Long baseId;
    /**
     * 规则组id
     */
    @Excel(name = "规则组id", width = 15)
    @ApiModelProperty(value = "规则组id")
    private Long groupId;

    private String groupName;
    /**
     * 指标code
     */
    @Excel(name = "指标code", width = 15)
    @ApiModelProperty(value = "指标code")
    private String indicatorCode;
    /**
     * 指标名称
     */
    @Excel(name = "指标名称", width = 15)
    @ApiModelProperty(value = "指标名称")
    private String indicatorName;
    /**
     * 阈值
     */
    @Excel(name = "阈值", width = 15)
    @ApiModelProperty(value = "阈值")
    private String threshold;
    //判断条件 大于 等于 小于等
    private String ruleCondition;
    /**
     * 实际值
     */
    @Excel(name = "实际值", width = 15)
    @ApiModelProperty(value = "实际值")
    private String dataValue;
    /**
     * 获取值时间
     */
    @Excel(name = "获取值时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "获取值时间")
    private java.util.Date valueTime;
    /**
     * 操作内容:SEND发送，PAUSE关停并发送
     */
    @Excel(name = "操作内容:SEND发送，PAUSE关停并发送", width = 15)
    @ApiModelProperty(value = "操作内容:SEND发送，PAUSE关停并发送")
    private String operate;
    /**
     * 媒体类型
     */
    @Excel(name = "媒体类型", width = 15)
    @ApiModelProperty(value = "媒体类型")
    private String mediaType;
    /**
     * createTime
     */
    @Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createTime")
    private java.util.Date createTime;
    /**
     * updateTime
     */
    @Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "updateTime")
    private java.util.Date updateTime;
}
