package com.zanxiang.game.module.manage.pojo.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author tianhua
 * @version 1.0
 * @description: TODO
 * @date 2023/11/29 14:45
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class GamePolicyConfigListVO {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 超父游戏id
     */
    private Long superGameId;

    /**
     * 超父游戏名称
     */
    private String superGameName;

    /**
     * 策略类型:1-追踪玩家;2-玩家流失;3-新用户追踪; 4-累充追踪
     * 1:单笔充值金额大于XX,并且注册时间在XX小时内的玩家
     * 2:累计充值金额大于XX,并且最近游戏距今时间超过XX小时的玩家
     * 3:新用户注册创角首日充值大于XX的用户
     */
    private Long type;

    /**
     * 金额
     */
    private Long amount;

    /**
     * 金额条件：eq -> 等于; lt -> 小于; gt -> 大于; le -> 小于等于; ge -> 大于等于
     */
    private String amountCondition;

    /**
     * 时间（单位：小时）
     */
    private Long time;

    /**
     * 时间条件：eq -> 等于; lt -> 小于; gt -> 大于; le -> 小于等于; ge -> 大于等于
     */
    private String timeCondition;

    /**
     * 配置说明
     */
    private String configExplain;

    /**
     * 告警人员ID
     */
    private List<Long> userNameIds;

    /**
     * 排除标签名字符串 ID
     */
    private List<Long> tagsNameIds;

    /**
     * 告警人员
     */
    private String userNameStr;

    /**
     * 排除标签名字符串
     */
    private String tagsNameStr;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建者
     */
    private Long createBy;

    /**
     * 创建者名称
     */
    private String createName;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 更新者
     */
    private Long updateBy;

    /**
     * 更新者名称
     */
    private String updateName;

}
