package com.sonic.frog.service;

import com.sonic.frog.domain.output.AiChatRankOutput;
import com.sonic.frog.domain.output.AiGiftRankOutput;
import com.sonic.frog.domain.output.AiHeartbeatRankOutput;

import java.util.List;

public interface RankService {

    /**
     * 聊天榜单定时任务计算
     *
     * @return
     */
    int chatRankJob();

    /**
     * 聊天榜单
     *
     * @param userId
     * @return
     */
    List<AiChatRankOutput> chatRank(Long userId, Integer limit);

    /**
     * 心跳榜单定时任务计算
     *
     * @return
     */
    int aiHeartbeatRankJob();

    /**
     * 聊天榜单
     *
     * @param userId
     * @return
     */
    List<AiHeartbeatRankOutput> aiHeartbeatRank(Long userId, Integer limit);


    /**
     * 礼物榜单定时任务计算
     *
     * @return
     */
    int giftRankJob();

    /**
     * 礼物榜单
     *
     * @param userId
     * @return
     */
    List<AiGiftRankOutput> giftRank(Long userId, Integer limit);
}
