跨服排行修改

back_recharge
duhui 2021-07-30 16:48:40 +08:00
parent 265392949e
commit 5e2cadc2fe
4 changed files with 15 additions and 36 deletions

View File

@ -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());

View File

@ -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;
}

View File

@ -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())

View File

@ -26,7 +26,7 @@ public class CrossGuildForceRank extends GuildForceRank {
}
@Override
protected void getOptional(int index, ZSetOperations.TypedTuple<String> data, PlayerInfoProto.RankResponse.Builder builder) throws Exception {
protected void getCrossOptional(int index, ZSetOperations.TypedTuple<String> 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<ZSetOperations.TypedTuple<String>> 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;
}
}