package com.zanxiang.game.module.mybatis.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

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

/**
 * 游戏广告监控告警配置表(TGameAdMonitor)实体类
 *
 * @author makejava
 * @since 2023-12-28 13:45:09
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Builder
@TableName("t_game_ad_monitor")
public class GameAdMonitor implements Serializable {
    private static final long serialVersionUID = 1L;


     /**
      * 主键id
      */
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
    
     /**
     * 规则名称
     */     
     private String ruleName;
    
     /**
     * 规则类型：1-个人规则
     */     
     private Integer ruleType;
    
     /**
     * 部门类型：1-游戏投放
     */     
     private Integer department;
    
     /**
     * 游戏ID（子游戏维度）
     */     
     private Long gameId;
    
     /**
     * 媒体类型：1-腾讯; 2-头条
     */     
     private Integer mediaType;
    
     /**
     * 规则维度：1-默认;2-渠道;1-账号;1-广告
     */     
     private Integer ruleDimension;
    
     /**
     * 生效范围(依据规则维度变化)：ALLADS（默认维度：当前创建人的所有广告）;其他（对应规则维度的ID字符串，'-'间隔）
     */     
     private String effectiveScope;

     /**
      * 规则是否启用：1-开启; 0-暂停
      */
     private Boolean isStart;
    
     /**
     * 告警方式：1-短信;2-电话;3-钉钉
     */     
     private Integer alarmType;
    
     /**
     * 通知频率，单位：分钟/次
     */     
     private Integer alarmFrequency;
    
     /**
     * 通知总次数
     */     
     private Integer alarmCount;
    
     /**
     * 操作维度：1-广告
     */     
     private Integer operateDimension;
    
     /**
     * 操作类型：1-仅告警通知;2-暂停广告;3-启动广告;4-增加预算;5-减少预算;6-广告置顶标黄;7-广告置顶标红
     */     
     private Integer operateType;
    
     /**
     * 执行范围：1-所有广告（不含删除）;2-投放中;3-暂停投放;4-预算不足
     */     
     private Integer executeScope;
    
     /**
     * 数据巡视周期：1-实时
     */     
     private Integer dataVisitsPeriod;
    
     /**
     * 规则条件（json存储对象格式，最多可同事设置5个指标条件）
     */     
     private String ruleCondition;
    
     /**
     * 规则下的账号白名单（字符串形式，'-'间隔）
     */     
     private String accountWhitelist;
    
     /**
     * 规则下的账号白名单有效时间类型：1-当日有效（自然日）;2-长期有效
     */     
     private Integer accountValidTime;
    
     /**
     * 规则下的广告白名单（字符串形式，'-'间隔）
     */     
     private String adWhitelist;
    
     /**
     * 规则下的广告白名单有效时间类型：1-当日有效（自然日）;2-长期有效
     */     
     private Integer adValidTime;
    
     /**
     * 创建时间
     */     
     private LocalDateTime createTime;
    
     /**
     * 创建者
     */     
     private Long createBy;
    
     /**
     * 更新时间
     */     
     private LocalDateTime updateTime;
    
     /**
     * 更新者
     */     
     private Long updateBy;
    
     /**
     * 规则是否删除：1-不删除（可用）; 0-删除（不可用）
     */     
     private Boolean enabled;

}

