From 7b032b01816d2686b41b71df55cc38924b53a77a Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 30 Jul 2021 15:37:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=A8=E6=9C=8D=E6=8E=92=E8=A1=8C=E6=A6=9C?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/rank/RankLogic.java | 2 +- .../logic/rank/rankImpl/AbstractRank.java | 16 +++++++++++++--- .../logic/rank/rankImpl/CrossGuildForceRank.java | 3 ++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/RankLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/RankLogic.java index f3048f42f..aa7cf7990 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/RankLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/RankLogic.java @@ -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); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java index c547dc959..790355205 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java @@ -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> rankByKey = RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey,rKey, 0, 0, false); + Set> rankByKey = + RedisUtil.getInstence().getZsetreverseRangeWithScores(getCrossRedisKey(),rKey, 0, 0, false); CommonProto.UserRank.Builder builder = CommonProto.UserRank.newBuilder(); if(rankByKey.size()!=1){ return builder; } ZSetOperations.TypedTuple 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 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/CrossGuildForceRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/CrossGuildForceRank.java index 33ae9a594..d872942f2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/CrossGuildForceRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/CrossGuildForceRank.java @@ -75,7 +75,8 @@ public class CrossGuildForceRank extends GuildForceRank { @Override public CommonProto.UserRank.Builder getFirstByCross(String rKey) throws UnknownHostException { - Set> rankByKey = RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey,rKey, 0, 0, false); + Set> rankByKey = + RedisUtil.getInstence().getZsetreverseRangeWithScores(getCrossRedisKey(),rKey, 0, 0, false); CommonProto.UserRank.Builder builder = CommonProto.UserRank.newBuilder(); if(rankByKey.size()!=1){ return builder;