package com.ssj.service.sys.schoolmatecircle.service;

import java.util.List;
import java.util.Map;

import com.ssj.bean.sys.schoolmatecircle.domain.SchoolmateCircleRanking;
import com.ssj.framework.core.common.service.BaseService;

public interface SchoolmateRankingService extends BaseService<SchoolmateCircleRanking, String> {
    /**
     * 查询同学圈排行榜
     * @param type
     * @param time
     * @return
     */
    List<Map<String, Object>> findCircleRanking (int type, int time);

    /**
     * 计算同学圈的排行榜，用于定时任务调用
     */
    void calculateCircleRanking ();

    /**
     * 同学圈点赞排行榜计算
     * @param beginTime 开始时间
     * @param endTime 结束时间
     * @param time 时间标记， 1近一周，2近一月，3近一年
     */
    void circleLikeRanking(String beginTime, String endTime, int time);

    /**
     * 同学圈答题榜
     * @param beginTime
     * @param endTime
     * @param time
     */
    void circleAnswerRanking (String beginTime, String endTime, int time);

    /**
     * 活跃度排行榜
     * @param beginTime 开始时间
     * @param endTime 结束时间
     * @param time 时间类型
     */
    void circleActivityRanking (String beginTime, String endTime, int time);

    /**
     * 装配对象插入到排行榜表
     * @param list
     * @param type
     * @param time
     */
    void  assembleInsertList (List<Map<String, Object>> list, int type, int time);
}
