package com.red.circle.other.infra.database.cache.key.user;

/**
 * 用户邀请， 缓存key.
 *
 * @author pengliang on 2023/8/18
 */
public enum UserInviteKey {

  /**
   * 邀请用户佣金比例.
   */
  INVITE_USER_COMMISSION_RATIO,

  /**
   * 邀请用户可获得佣金天数.
   */
  INVITE_USER_COMMISSION_DAYS,

  /**
   * 已领取邀请用户奖励集合.
   */
  INVITE_USER_REWARD_RECEIVED_LIST,

  /**
   * 红包邀新缓存.
   */
  RED_PACKET_INVITE_USER_CAROUSEL_AWARDS,

  /**
   * 邀新配置配置信息.
   */
  RED_PACKET_INVITE_USER_CONFIG,

  /**
   * 红包剩余奖项.
   */
  RED_PACKET_INVITE_AWARDS,

  /**
   * 红包剩余抽奖次数.
   */
  RED_PACKET_LOTTERY_COUNT,

  /**
   * 今日助力用户.
   */
  RED_PACKET_TODAY_HELP_USERS,

  /**
   * 全局累计已抽奖次数.
   */
  RED_PACKET_ALL_INCR_LOTTERY_COUNT,

  /**
   * 标记立即提现奖项.
   */
  RED_PACKET_WITHDRAW_PRIZES,

  /**
   * 回归用户助力.
   */
  RED_PACKET_RETURN_USER_HELP
  ;


  public String getKey(Long id) {
    return this.name() + ":" + id;
  }

  public String getKey(String key) {
    return this.name() + ":" + key;
  }

}
