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