跨服排行榜改动
parent
63b1c2de38
commit
5c68ad2738
|
|
@ -91,6 +91,14 @@ public class CoreService implements RPCRequestIFace.Iface {
|
|||
// 需要存储的英雄列表
|
||||
HashSet<TeamPosHeroInfo> set = new HashSet<>();
|
||||
|
||||
//主线编队
|
||||
List<com.ljsd.jieling.logic.dao.TeamPosHeroInfo> main = user.getTeamPosManager().getTeamPosForHero().getOrDefault(GlobalsDef.FORMATION_NORMAL,new ArrayList<>());
|
||||
List<TeamPosHeroInfo> nomal = new ArrayList<TeamPosHeroInfo>();
|
||||
main.forEach(n->nomal.add(new TeamPosHeroInfo().setHeroId(n.getHeroId()).setPosition(n.getPosition())));
|
||||
teams.put(GlobalsDef.FORMATION_NORMAL,nomal);
|
||||
set.addAll(nomal);
|
||||
|
||||
|
||||
//玉虚论道编队
|
||||
List<com.ljsd.jieling.logic.dao.TeamPosHeroInfo> yxldOne = user.getTeamPosManager().getTeamPosForHero().getOrDefault(GlobalsDef.CROSS_YU_XU_LUN_DAO_ONE,new ArrayList<>());
|
||||
List<TeamPosHeroInfo> rpcYxldOne = new ArrayList<TeamPosHeroInfo>();
|
||||
|
|
|
|||
|
|
@ -62,7 +62,9 @@ public class ViewHeroInfoHandler extends BaseHandler<PlayerInfoProto.ViewHeroInf
|
|||
PlayerInfoProto.ViewHeroInfoResponse viewHeroInfoResponse = PlayerLogic.getInstance().viewCrossHeroInfo(proto.getTargetUid(), proto.getHeroId(), proto.getTeamId());
|
||||
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.VIEW_HERO_INFO_RESPONSE_VALUE,viewHeroInfoResponse,true);
|
||||
}else {
|
||||
PlayerInfoProto.ViewHeroInfoResponse viewHeroInfoResponse = PlayerLogic.getInstance().viewCrossHeroInfo1(proto.getTargetUid(), proto.getHeroId(), proto.getTeamId());
|
||||
PlayerInfoProto.ViewHeroInfoResponse viewHeroInfoResponse = PlayerLogic.getInstance().viewCrossHeroInfo(proto.getTargetUid(), proto.getHeroId(), proto.getTeamId());
|
||||
|
||||
//PlayerInfoProto.ViewHeroInfoResponse viewHeroInfoResponse = PlayerLogic.getInstance().viewCrossHeroInfo1(proto.getTargetUid(), proto.getHeroId(), proto.getTeamId());
|
||||
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.VIEW_HERO_INFO_RESPONSE_VALUE,viewHeroInfoResponse,true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,7 +82,6 @@ public class CSPlayer {
|
|||
*/
|
||||
private int crossYxldMaxLevel = 0 ; //历史达到的最高等级
|
||||
|
||||
|
||||
public CSPlayer(User user) {
|
||||
PlayerManager manager = user.getPlayerInfoManager();
|
||||
this.userId = user.getId();
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package com.ljsd.jieling.logic.rank.rankImpl;
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.logic.GlobleSystemLogic;
|
||||
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.cross.CSPlayer;
|
||||
import com.ljsd.jieling.logic.dao.gm.ArenaOfUser;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildCache;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
|
@ -243,9 +245,9 @@ public abstract class AbstractRank implements IRank {
|
|||
return builder;
|
||||
}
|
||||
|
||||
protected void getCrossOptional(int index,ZSetOperations.TypedTuple<String> data,PlayerInfoProto.RankResponse.Builder builder) throws Exception {
|
||||
ArenaOfUser everyUser = CrossServiceLogic.getInstance().query(Integer.parseInt(data.getValue()));
|
||||
if (everyUser == null){
|
||||
protected void getCrossOptional1(int index,ZSetOperations.TypedTuple<String> data,PlayerInfoProto.RankResponse.Builder builder) throws Exception {
|
||||
CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(Integer.parseInt(data.getValue()));
|
||||
if (csPlayer == null){
|
||||
LOGGER.error("改玩家没有跨服数据...:{}",data.getValue());
|
||||
return;
|
||||
}
|
||||
|
|
@ -254,7 +256,23 @@ public abstract class AbstractRank implements IRank {
|
|||
.setParam1(getParam1(data.getScore()))
|
||||
.setParam2(getParam2(data.getScore()))
|
||||
.setParam3(getParam3(data.getScore()));
|
||||
CommonProto.UserRank.Builder oneUserRank = getCrossOneUserRank(everyUser, everyRankInfo);
|
||||
CommonProto.UserRank.Builder oneUserRank = getCrossOneUserRank(csPlayer, everyRankInfo);
|
||||
builder.addRanks(oneUserRank);
|
||||
}
|
||||
protected void getCrossOptional(int index,ZSetOperations.TypedTuple<String> data,PlayerInfoProto.RankResponse.Builder builder) throws Exception {
|
||||
//ArenaOfUser everyUser = CrossServiceLogic.getInstance().query(Integer.parseInt(data.getValue()));
|
||||
|
||||
CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(Integer.parseInt(data.getValue()));
|
||||
if (csPlayer == null){
|
||||
LOGGER.error("该玩家没有跨服数据...:{}",data.getValue());
|
||||
return;
|
||||
}
|
||||
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
|
||||
.setRank(index)
|
||||
.setParam1(getParam1(data.getScore()))
|
||||
.setParam2(getParam2(data.getScore()))
|
||||
.setParam3(getParam3(data.getScore()));
|
||||
CommonProto.UserRank.Builder oneUserRank = getCrossOneUserRank(csPlayer, everyRankInfo);
|
||||
builder.addRanks(oneUserRank);
|
||||
}
|
||||
|
||||
|
|
@ -274,6 +292,26 @@ public abstract class AbstractRank implements IRank {
|
|||
.setPracticeLevel(everyUser.getHeroManager().getPracticeLevel());
|
||||
}
|
||||
|
||||
public CommonProto.UserRank.Builder getCrossOneUserRank(CSPlayer csPlayer, CommonProto.RankInfo.Builder everyRankInfo){
|
||||
String serverName = CrossDeathPathLogic.getInstance().getServerNameByDeathPath(csPlayer.getServerId());
|
||||
GuildCache mapEntry = CrossDeathPathLogic.getCrossGuild(csPlayer.getGuildId());
|
||||
return CommonProto.UserRank.newBuilder()
|
||||
.setUid(csPlayer.getUserId())
|
||||
.setLevel(csPlayer.getLevel())
|
||||
.setUserName(csPlayer.getName())
|
||||
.setRankInfo(everyRankInfo)
|
||||
.setForce(0) //TODO
|
||||
.setSex(csPlayer.getSex())
|
||||
.setHead(csPlayer.getHead())
|
||||
.setGuildName(Optional.ofNullable(mapEntry).map(GuildCache::getName).orElse(""))
|
||||
.setHeadFrame(csPlayer.getHeadFrame())
|
||||
.setUserMount(csPlayer.getUserMount())
|
||||
.setUserSkin(csPlayer.getSkin())
|
||||
.setUserTitle(csPlayer.getUserTitle())
|
||||
.setPracticeLevel(csPlayer.getPracticeLevel())
|
||||
.setServerName(serverName==null?"":serverName)
|
||||
.setCrossScore(csPlayer.getCrossYuxulundaoNewScore());
|
||||
}
|
||||
public CommonProto.UserRank.Builder getCrossOneUserRank(ArenaOfUser query, CommonProto.RankInfo.Builder everyRankInfo){
|
||||
String serverName = CrossServiceLogic.getInstance().getServerNameByUId(query.getId());
|
||||
GuildCache mapEntry = CrossDeathPathLogic.getCrossGuild(query.getPlayerManager().getGuildId());
|
||||
|
|
|
|||
|
|
@ -75,11 +75,11 @@ public class CrossYuXuLunDaoPersonRank extends AbstractRank{
|
|||
.setParam1(getParam1(data.getScore()))
|
||||
.setParam2(getParam2(data.getScore()))
|
||||
.setParam3(getParam3(data.getScore()));
|
||||
CommonProto.UserRank.Builder everyRank = getCrossOneUserRank(cPlayer,everyRankInfo);
|
||||
CommonProto.UserRank.Builder everyRank = getCrossOneUserRankyx(cPlayer,everyRankInfo);
|
||||
builder.addRanks(everyRank);
|
||||
}
|
||||
}
|
||||
public static CommonProto.UserRank.Builder getCrossOneUserRank(CSPlayer player , CommonProto.RankInfo.Builder everyRankInfo){
|
||||
public static CommonProto.UserRank.Builder getCrossOneUserRankyx(CSPlayer player , CommonProto.RankInfo.Builder everyRankInfo){
|
||||
String serverName = CrossServiceLogic.getInstance().getServerNameByUId(player.getUserId());
|
||||
//CSPlayer player = CrossServiceLogic.getPlayerByRedis(uid);
|
||||
return CommonProto.UserRank.newBuilder()
|
||||
|
|
|
|||
|
|
@ -86,11 +86,11 @@ public class CrossYuXuLunDaoRank extends AbstractRank{
|
|||
.setParam2(getParam2(data.getScore()))
|
||||
.setParam3(getParam3(data.getScore()));
|
||||
//CommonProto.UserRank.Builder everyRank = getCrossOneUserRank(query,everyRankInfo);
|
||||
CommonProto.UserRank.Builder everyRank = getCrossOneUserRank(cPlayer,everyRankInfo);
|
||||
CommonProto.UserRank.Builder everyRank = getCrossOneUserRankyx(cPlayer,everyRankInfo);
|
||||
builder.addRanks(everyRank);
|
||||
}
|
||||
}
|
||||
public static CommonProto.UserRank.Builder getCrossOneUserRank(CSPlayer player , CommonProto.RankInfo.Builder everyRankInfo){
|
||||
public static CommonProto.UserRank.Builder getCrossOneUserRankyx(CSPlayer player , CommonProto.RankInfo.Builder everyRankInfo){
|
||||
String serverName = CrossServiceLogic.getInstance().getServerNameByUId(player.getUserId());
|
||||
//CSPlayer player = CrossServiceLogic.getPlayerByRedis(uid);
|
||||
return CommonProto.UserRank.newBuilder()
|
||||
|
|
|
|||
Loading…
Reference in New Issue