package com.red.circle.other.infra.database.mongo.service.activity;

import com.red.circle.other.infra.database.mongo.entity.activity.RoomFanVotesActivityCount;
import java.util.List;

/**
 * 房间粉丝人气票活动.
 *
 * @author pengshigang on 2023/6/9
 */
public interface RoomFanVotesActivityCountService {

  /**
   * 增加积分.
   */
  void incr(Long roomId, Long userId, String regionCode, Long points);

  /**
   * 获得积分数据.
   */
  RoomFanVotesActivityCount getByRoomId(Long roomId);

  /**
   * 获得昨天Top.
   */
  List<RoomFanVotesActivityCount> listHistory(String regionCode);

  /**
   * 获得当前Top.
   */
  List<RoomFanVotesActivityCount> listCurrent(String regionCode, Integer limit);

  /**
   * 获得当前Top.
   */
  List<RoomFanVotesActivityCount> listCurrent(String regionCode, String sysOrigin, Integer limit);

  /**
   * 设置为历史.
   */
  void upHistory(List<String> regionCodes);

  /**
   * 设置为已发送奖励.
   */
  void upAlreadySent(String regionCode);

  /**
   * 删除数据.
   */
  void del(List<String> regionCodes);

}
