package com.red.circle.other.infra.database.rds.dao.game;

import com.red.circle.framework.mybatis.dao.BaseDAO;
import com.red.circle.other.infra.database.rds.entity.game.GameKingActivityStatistics;
import java.util.List;
import java.util.Set;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 游戏王临时统计表 Mapper 接口.
 * </p>
 *
 * @author pengshigang
 * @since 2021-12-25
 */
public interface GameKingActivityStatisticsDAO extends BaseDAO<GameKingActivityStatistics> {

  /**
   * 清除统计数据(每周)
   */
  void deleteBySysOriginByUserIds(@Param("userIds") Set<Long> userIds,
      @Param("sysOrigin") String sysOrigin);

  /**
   * 老水果机游戏数据
   */
  List<GameKingActivityStatistics> listOldFruitGameBySysOriginByUserIds(
      @Param("userIds") Set<Long> userIds, @Param("sysOrigin") String sysOrigin);

  /**
   * 水果机游戏数据
   */
  List<GameKingActivityStatistics> listFruitGameBySysOriginByUserIds(
      @Param("userIds") Set<Long> userIds, @Param("sysOrigin") String sysOrigin);

  /**
   * 根据条件获得晋级用户id与金额。
   *
   * @param promotion 晋级赛：1.32强 2.16强 3.8强 4.4强 5.半决赛 6.总决赛
   */
  List<GameKingActivityStatistics> listUserByCondition(@Param("sysOrigin") String sysOrigin,
      @Param("promotion") Integer promotion, @Param("topUserIds") Set<Long> topUserIds);

}
