package com.qxueyou.scc.school.service; import java.math.BigDecimal; import java.util.List; import java.util.Map; import com.qxueyou.scc.base.model.Pager; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.school.model.SchRankHis; /** * 排名处理服务 * @author 德虎 * */ public interface IRankService { /** * 请求更新排名 * @return */ Result reqUpdateRankOld(String userId); /** * 请求更新排名 * @return */ Result reqUpdateRank(String userId, String rankType, String scopeType, String scopeId); /** * 请求班级排名 * @return -1代表还没有名次 */ int getRankInClass(String userId,String classId); /** * 请求班级排名 * @return -1代表还没有名次 */ int getRankInScope(String userId, String rankType, String scopeType, String scopeId); /** * 请求班级排名列表 * @return */ List getClassRankLst(String classId); /** * 请求班级排名列表 * @return */ List getClassRankLst(String classId,Pager page); /** * 请求整个Q学友排名 * @return -1代表还没有名次 */ int getRankInQxueyou(String userId); /** * 请求Qxueyou Top 100 排名 * @return */ List getQxueyouTopRankLst(); /** * * @param userId * @param rankType * @param value */ void updateRankValue(String userId,String rankType,BigDecimal delta,BigDecimal total,String remark,boolean isSendMsg); /** * 请求好友排名 * @return -1代表还没有名次 */ int getRankInFriend(String userId); /** * 请求好友排名列表 * @return */ List getFriendRankLst(String userId,Pager page); /** * 指定user 最近num天班级排名状态变化 */ List> getPersonalClassRankTrend(String userId,String classId,Pager page,int num); /** * 指定user 最近num天全站排名状态变化 */ List> getPersonalQxueyouRankTrend(String userId,Pager page,int num); /** * 指定user 最近num天好友排名状态变化 */ List> getPersonalFriendRankTrend(String userId,Pager page,int num); /** * 得到排名数据(班级、好友、全站)排名 及排名上升下降 * @return */ Map getScoreRankPageData(); /** * 获取用户个人传播大使积分和排名信息 * * @param userId 用户id * @return */ SchRankHis doGetUserRank(String userId); }