diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java index 8ac5f8f3e..3242a7330 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java @@ -136,6 +136,7 @@ public class CrossServiceLogic { arenaOfPlayerManager.setHead(player.getHead()); arenaOfPlayerManager.setHeadFrame(player.getHeadFrame()); GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId); + arenaOfPlayerManager.setGuildId(guildId); arenaOfPlayerManager.setGuildName(guildInfo==null?"":guildInfo.getName()); arenaOfPlayerManager.setUserTitle(player.getUserTitle()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfPlayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfPlayerManager.java index d68f3ce73..e53767e43 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfPlayerManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfPlayerManager.java @@ -13,6 +13,7 @@ public class ArenaOfPlayerManager { private String name; private int head; private int headFrame; + private int guildId; private String guildName; private int userTitle; private int userMount; @@ -82,6 +83,14 @@ public class ArenaOfPlayerManager { this.headFrame = headFrame; } + public int getGuildId() { + return guildId; + } + + public void setGuildId(int guildId) { + this.guildId = guildId; + } + public String getGuildName() { return guildName; } 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 0fd6dfb83..7a5d054ae 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 @@ -269,7 +269,7 @@ public abstract class AbstractRank implements IRank { .setServerName(serverName); } - private CommonProto.UserRank.Builder getCrossOneUserRank(ArenaOfUser query, CommonProto.RankInfo.Builder everyRankInfo){ + public CommonProto.UserRank.Builder getCrossOneUserRank(ArenaOfUser query, CommonProto.RankInfo.Builder everyRankInfo){ String serverName = CrossServiceLogic.getInstance().getServerNameByUId(query.getId()); return CommonProto.UserRank.newBuilder() .setUid(query.getId()) @@ -277,6 +277,7 @@ public abstract class AbstractRank implements IRank { .setRankInfo(everyRankInfo) .setSex(query.getPlayerManager().getGender()) .setHead(query.getPlayerManager().getHead()) + .setGuildName(query.getPlayerManager().getGuildName()) .setHeadFrame(query.getPlayerManager().getHeadFrame()) .setUserMount(query.getPlayerManager().getUserMount()) .setUserSkin(query.getPlayerManager().getSkin()) 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 d872942f2..b144c7401 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 @@ -26,7 +26,7 @@ public class CrossGuildForceRank extends GuildForceRank { } @Override - protected void getOptional(int index, ZSetOperations.TypedTuple data, PlayerInfoProto.RankResponse.Builder builder) throws Exception { + protected void getCrossOptional(int index, ZSetOperations.TypedTuple data, PlayerInfoProto.RankResponse.Builder builder) throws Exception { GuildCache mapEntry = RedisUtil.getInstence().getMapEntry(RedisKey.FAMILY_INFO, "", data.getValue(), GuildCache.class); CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder() .setRank(index) @@ -37,42 +37,10 @@ public class CrossGuildForceRank extends GuildForceRank { if (query == null){ return; } - CommonProto.UserRank.Builder oneUserRank = getOneUserRank(query, Integer.valueOf(data.getValue()), everyRankInfo); + CommonProto.UserRank.Builder oneUserRank = getCrossOneUserRank(query, everyRankInfo); builder.addRanks(oneUserRank); } - private CommonProto.UserRank.Builder getOneUserRank(ArenaOfUser query, int guildId, CommonProto.RankInfo.Builder everyRankInfo){ - String serverName = CrossServiceLogic.getInstance().getServerNameByUId(query.getId()); - GuildCache mapEntry = RedisUtil.getInstence().getMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildId), GuildCache.class); - return CommonProto.UserRank.newBuilder() - .setUid(query.getId()) - .setLevel(query.getPlayerManager().getLevel()) - .setGuildName(Optional.ofNullable(mapEntry).map(GuildCache::getName).orElse("")) - .setRankInfo(everyRankInfo) - .setSex(query.getPlayerManager().getGender()) - .setHead(query.getPlayerManager().getHead()) - .setHeadFrame(query.getPlayerManager().getHeadFrame()) - .setUserMount(query.getPlayerManager().getUserMount()) - .setUserSkin(query.getPlayerManager().getSkin()) - .setUserTitle(query.getPlayerManager().getUserTitle()) - .setServerName(serverName); - } - - @Override - protected void getMyInfo(User user, String rkey, PlayerInfoProto.RankResponse.Builder allUserResponse){ - int guildId = user.getPlayerInfoManager().getGuildId(); - if(guildId==0){ - return; - } - int myRank= RedisUtil.getInstence().getZSetreverseRank(redisKey,rkey,Integer.toString(guildId)).intValue(); - Double zSetScore = RedisUtil.getInstence().getZSetScore(redisKey, rkey, Integer.toString(guildId)); - CommonProto.RankInfo towerRankInfo = CommonProto.RankInfo.newBuilder() - .setRank(myRank) - .setParam1(getParam1(zSetScore)) - .setParam2(getParam2(zSetScore)).build(); - allUserResponse.setMyRankInfo(towerRankInfo); - } - @Override public CommonProto.UserRank.Builder getFirstByCross(String rKey) throws UnknownHostException { Set> rankByKey = @@ -96,7 +64,7 @@ public class CrossGuildForceRank extends GuildForceRank { if (query == null){ return builder; } - builder = getOneUserRank(query, Integer.valueOf(data.getValue()), everyRankInfo); + builder = getCrossOneUserRank(query, everyRankInfo); return builder; } }