跨服排行榜展示问题
parent
ec519b4fb9
commit
7b032b0181
|
@ -210,7 +210,7 @@ public class RankLogic {
|
|||
CommonProto.UserRank.Builder first;
|
||||
int group = GlobleSystemLogic.getInstence().getCrossGroup();
|
||||
if (RankContext.isCrossRank2(type) && group != -1){
|
||||
first = rankEnum.getFirstByCross(String.valueOf(group));
|
||||
first = rankEnum.getFirstByCross("");
|
||||
}else {
|
||||
first = rankEnum.getFirst(param);
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ public abstract class AbstractRank implements IRank {
|
|||
}
|
||||
PlayerInfoProto.RankResponse.Builder allUserResponse = getAllUserResponse(scores,start);
|
||||
//当前用户信息
|
||||
getMyInfo(user,rkey,allUserResponse);
|
||||
getCrossMyInfo(user,rkey,allUserResponse);
|
||||
return allUserResponse.build();
|
||||
}
|
||||
|
||||
|
@ -176,13 +176,13 @@ public abstract class AbstractRank implements IRank {
|
|||
* @throws Exception
|
||||
*/
|
||||
public CommonProto.UserRank.Builder getFirstByCross(String rKey) throws Exception {
|
||||
Set<ZSetOperations.TypedTuple<String>> rankByKey = RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey,rKey, 0, 0, false);
|
||||
Set<ZSetOperations.TypedTuple<String>> rankByKey =
|
||||
RedisUtil.getInstence().getZsetreverseRangeWithScores(getCrossRedisKey(),rKey, 0, 0, false);
|
||||
CommonProto.UserRank.Builder builder = CommonProto.UserRank.newBuilder();
|
||||
if(rankByKey.size()!=1){
|
||||
return builder;
|
||||
}
|
||||
ZSetOperations.TypedTuple<String> data = rankByKey.iterator().next();
|
||||
LOGGER.info("有问题的ArenaId{}",Integer.parseInt(data.getValue()));
|
||||
User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
|
||||
if (everyUser == null){
|
||||
return builder;
|
||||
|
@ -250,6 +250,16 @@ public abstract class AbstractRank implements IRank {
|
|||
allUserResponse.setMyRankInfo(towerRankInfo);
|
||||
}
|
||||
|
||||
protected void getCrossMyInfo(User user,String rkey,PlayerInfoProto.RankResponse.Builder allUserResponse){
|
||||
int myRank= RedisUtil.getInstence().getZSetreverseRank(getCrossRedisKey(),rkey,Integer.toString(user.getId())).intValue();
|
||||
Double zSetScore = RedisUtil.getInstence().getZSetScore(getCrossRedisKey(), rkey, Integer.toString(user.getId()));
|
||||
CommonProto.RankInfo towerRankInfo = CommonProto.RankInfo.newBuilder()
|
||||
.setRank(myRank)
|
||||
.setParam1(getParam1(zSetScore))
|
||||
.setParam2(getParam2(zSetScore)).build();
|
||||
allUserResponse.setMyRankInfo(towerRankInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 子类需重写此方法来获得Redis解析后所需要的数据数组
|
||||
* @param score
|
||||
|
|
|
@ -75,7 +75,8 @@ public class CrossGuildForceRank extends GuildForceRank {
|
|||
|
||||
@Override
|
||||
public CommonProto.UserRank.Builder getFirstByCross(String rKey) throws UnknownHostException {
|
||||
Set<ZSetOperations.TypedTuple<String>> rankByKey = RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey,rKey, 0, 0, false);
|
||||
Set<ZSetOperations.TypedTuple<String>> rankByKey =
|
||||
RedisUtil.getInstence().getZsetreverseRangeWithScores(getCrossRedisKey(),rKey, 0, 0, false);
|
||||
CommonProto.UserRank.Builder builder = CommonProto.UserRank.newBuilder();
|
||||
if(rankByKey.size()!=1){
|
||||
return builder;
|
||||
|
|
Loading…
Reference in New Issue