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 f39a8e423..1ae2e81b2 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 @@ -3,9 +3,12 @@ package com.ljsd.jieling.logic.activity.crossService; import com.ljsd.GameApplication; import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.db.mongo.MongoUtil; +import com.ljsd.jieling.db.redis.RedisKey; +import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.logic.arena.ArenaLogic; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.gm.*; +import com.ljsd.jieling.logic.dao.root.GuildCache; import com.ljsd.jieling.logic.dao.root.GuildInfo; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.family.CrossDeathPathLogic; @@ -135,9 +138,9 @@ public class CrossServiceLogic { arenaOfPlayerManager.setName(player.getNickName()); arenaOfPlayerManager.setHead(player.getHead()); arenaOfPlayerManager.setHeadFrame(player.getHeadFrame()); - GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId); + GuildCache mapEntry = RedisUtil.getInstence().getMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildId), GuildCache.class); arenaOfPlayerManager.setGuildId(guildId); - arenaOfPlayerManager.setGuildName(guildInfo==null?"":guildInfo.getName()); + arenaOfPlayerManager.setGuildName(mapEntry==null?"":mapEntry.getName()); arenaOfPlayerManager.setUserTitle(player.getUserTitle()); arenaOfPlayerManager.setPracticeLevel(user.getHeroManager().getPracticeLevel()); 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 b144c7401..132a88360 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 @@ -37,10 +37,30 @@ public class CrossGuildForceRank extends GuildForceRank { if (query == null){ return; } - CommonProto.UserRank.Builder oneUserRank = getCrossOneUserRank(query, everyRankInfo); + String name = Optional.ofNullable(mapEntry).map(GuildCache::getName).orElse(""); + CommonProto.UserRank.Builder oneUserRank = getCrossOneUserRank(query,name,everyRankInfo); builder.addRanks(oneUserRank); } + public CommonProto.UserRank.Builder getCrossOneUserRank(ArenaOfUser query,String guildName,CommonProto.RankInfo.Builder everyRankInfo){ + String serverName = CrossServiceLogic.getInstance().getServerNameByUId(query.getId()); + return CommonProto.UserRank.newBuilder() + .setUid(query.getId()) + .setLevel(query.getPlayerManager().getLevel()) + .setUserName(query.getPlayerManager().getName()) + .setRankInfo(everyRankInfo) + .setForce(query.getPlayerManager().getMaxFore()) + .setSex(query.getPlayerManager().getGender()) + .setHead(query.getPlayerManager().getHead()) + .setGuildName(guildName) + .setHeadFrame(query.getPlayerManager().getHeadFrame()) + .setUserMount(query.getPlayerManager().getUserMount()) + .setUserSkin(query.getPlayerManager().getSkin()) + .setUserTitle(query.getPlayerManager().getUserTitle()) + .setPracticeLevel(query.getPlayerManager().getPracticeLevel()) + .setServerName(serverName); + } + @Override public CommonProto.UserRank.Builder getFirstByCross(String rKey) throws UnknownHostException { Set> rankByKey = @@ -64,7 +84,7 @@ public class CrossGuildForceRank extends GuildForceRank { if (query == null){ return builder; } - builder = getCrossOneUserRank(query, everyRankInfo); + builder = getCrossOneUserRank(query,mapEntry.getName(),everyRankInfo); return builder; } }