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

import com.red.circle.other.infra.database.mongo.entity.game.ktv.GameKtvUserWeekRankCount;
import java.util.List;

/**
 * 房间Ktv人气周榜.
 *
 * @author pengshigang on 2023/5/5
 */
public interface GameKtvUserWeekRankCountService {

  /**
   * 正常增加.
   */
  void inc(GameKtvUserWeekRankCount count);

  /**
   * 榜单.
   */
  List<GameKtvUserWeekRankCount> list(String sysOrigin, String regionId, Integer size);

  /**
   * 唱完一首歌外额增加100人气值.
   */
  void incExtra(String regionId, Long userId, String sysOrigin);

  /**
   * 查询本周用户人气值.
   *
   * @return 已格式化的值.
   */
  String getUserValue(Long userId, String regionId);

  /**
   * 上周top10榜单.
   */
  List<GameKtvUserWeekRankCount> lastWeekTop10(String sysOrigin, String regionId);

}
