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

import lombok.Data;

import jakarta.validation.constraints.NotNull;
import java.util.List;

/**
 * @author tianhua
 * @version 1.0
 * @description: 游戏策略添加或修改参数
 * @date 2023/11/29 14:32
 */
@Data
public class GamePolicyConfigAddOrUpdateParam {

    /**
     * 传id为修改, 不传id为新增
     */
    private Long id;

    /**
     * 超父游戏id
     */
    @NotNull(message = "超父游戏id不能为空")
    private Long superGameId;

    /**
     * 策略类型
     */
    @NotNull(message = "策略类型不能为空")
    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;

    /**
     * 配置说明
     */
    @NotNull(message = "配置说明不能为空")
    private String configExplain;

    /**
     * 通知人
     */
    @NotNull(message = "策略响应时发送消息的对象（不填写，默认发送消息给角色归因的投手）")
    private List<Long> userIds;

    /**
     * 排除指标标签
     */
    private List<Long> tagIds;

}
