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

import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;

/**
 * 用户邀请.
 *
 * @author pengshigang on 2022/5/23.
 */
public interface UserInviteCacheService {

  /**
   * 获得能够通过邀请好友充值享受佣金比例.
   *
   * @param sysOrigin 系统
   * @return 佣金比例
   */
  Double getCommissionRate(SysOriginPlatformEnum sysOrigin);

  /**
   * 设置能够通过邀请好友充值享受佣金比例.
   *
   * @param sysOrigin  系统
   * @param proportion 佣金比例
   */
  void setCommissionRate(SysOriginPlatformEnum sysOrigin, Double proportion);

  /**
   * 获得能够通过邀请好友充值享受佣金的天数.
   *
   * @param sysOrigin 系统
   * @return 天数
   */
  Integer getCommissionDays(SysOriginPlatformEnum sysOrigin);

  /**
   * 设置能够通过邀请好友充值享受佣金的天数.
   *
   * @param sysOrigin 系统
   * @param days      天数
   */
  void setCommissionDays(SysOriginPlatformEnum sysOrigin, Integer days);

  /**
   * 获得已领取的奖励规则id集合
   */
  String getRewardsReceivedRuleIds(Long userId);

  /**
   * 保存已领取的奖励规则id集合
   */
  void setRewardsReceivedRuleIds(Long userId, String list);

}
