查看队伍team新接口 帮会id赋值
parent
0994b02b85
commit
7281a39cd2
|
|
@ -309,6 +309,7 @@ public class CrossServiceLogic {
|
|||
player.setUserMount(p.getUserMount());
|
||||
player.setCrossYuxulundaoNewScore(newScore);
|
||||
player.setCrossYuxulundaoOldScore(oldScore);
|
||||
player.setGuildId(p.getGuildId());
|
||||
//player.setGuildId();
|
||||
//三个队伍总战力
|
||||
int force1 = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.CROSS_YU_XU_LUN_DAO_ONE, false);
|
||||
|
|
@ -357,6 +358,7 @@ public class CrossServiceLogic {
|
|||
player.setUserMount(p.getUserMount());
|
||||
player.setCrossYuxulundaoNewScore(0);
|
||||
player.setCrossYuxulundaoOldScore(0);
|
||||
player.setGuildId(p.getGuildId());
|
||||
//player.setGuildId();
|
||||
//三个队伍总战力
|
||||
int force1 = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.CROSS_YU_XU_LUN_DAO_ONE, false);
|
||||
|
|
|
|||
|
|
@ -933,6 +933,75 @@ public class PlayerLogic {
|
|||
}
|
||||
return builder.build();
|
||||
}
|
||||
//获取跨服玩家信息
|
||||
public CommonProto.TeamOneInfo getCrossYxldMyTeamInfoNew(User user,List<Integer> team) throws Exception{
|
||||
CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(user.getId());
|
||||
if(csPlayer==null){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
//基本信息从redis中拿 剩下的队伍 属性 数据量大的数据rpc调用
|
||||
String serverName = CrossDeathPathLogic.getInstance().getServerNameByDeathPath(csPlayer.getServerId());
|
||||
CommonProto.TeamOneInfo.Builder builder = CommonProto.TeamOneInfo.newBuilder()
|
||||
.setHead(csPlayer.getHead())
|
||||
.setHeadFrame(csPlayer.getHeadFrame())
|
||||
.setUserTitle(csPlayer.getUserTitle())
|
||||
.setLevel(csPlayer.getLevel())
|
||||
.setName(csPlayer.getName())
|
||||
.setGuildName("nb guild") //csPlayer.getGuildName()
|
||||
.setPracticeLevel(csPlayer.getPracticeLevel())
|
||||
.setUid(user.getId()).setCrossTeamScore(csPlayer.getCrossYuxulundaoNewScore())
|
||||
.setServerName(serverName);
|
||||
for(int teamId: team){
|
||||
CommonProto.TeamOneTeamInfo.Builder teamOneTeamInfo = CommonProto.TeamOneTeamInfo.newBuilder();
|
||||
List<TeamPosHeroInfo> teamPosHeroInfos =user.getTeamPosManager().getTeamPosForHero().getOrDefault(teamId,new ArrayList<>());
|
||||
if(teamPosHeroInfos!=null){
|
||||
for (TeamPosHeroInfo heroInfo:teamPosHeroInfos){
|
||||
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
Hero hero = heroMap.get(heroInfo.getHeroId());
|
||||
if(hero == null){
|
||||
continue;
|
||||
}
|
||||
teamOneTeamInfo.addTeam(CommonProto.TeamSimpleInfo.newBuilder()
|
||||
.setHeroid(hero.getId())
|
||||
.setHeroTid(hero.getTemplateId())
|
||||
.setLevel(hero.getLevel(user.getHeroManager()))
|
||||
.setStar(hero.getStar())
|
||||
.setPosition(heroInfo.getPosition())
|
||||
.setSkinId(hero.getSkin())
|
||||
.build());
|
||||
}
|
||||
}
|
||||
// 灵兽
|
||||
Map<String, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
Map<Integer, String> teamMap = user.getPokemonManager().getPokemonTeamMap();
|
||||
for (Map.Entry<Integer, String> entry : teamMap.entrySet()) {
|
||||
// clone 深度复制
|
||||
Pokemon pokemon = (Pokemon)pokemonMap.get(entry.getValue()).clone();
|
||||
pokemon.setTmpId(pokemon.getTmpId());
|
||||
pokemon.setId(pokemon.getId());
|
||||
pokemon.setLevel(pokemon.getLevel());
|
||||
pokemon.setStar(pokemon.getStar());
|
||||
teamOneTeamInfo.addPokemonInfos(CBean2Proto.getSimpleTeamInfoByPokeMon(pokemon, entry.getKey()));
|
||||
}
|
||||
//LOGGER.info("=====================跨服获取阵容:{}",teamId);
|
||||
Integer integer = HeroLogic.getInstance().calTeamTotalForce(user, teamId, false);
|
||||
teamOneTeamInfo.setTotalForce(integer);
|
||||
|
||||
for(Map.Entry<Integer, PurpleMansionSeal> entry:user.getHeroManager().getPurpleMansionSeal().entrySet()){
|
||||
PurpleMansionSeal value = entry.getValue();
|
||||
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
Hero hero = heroMap.get(value.getSubId());
|
||||
if(value.getState()==0){
|
||||
continue;
|
||||
}
|
||||
teamOneTeamInfo.addSealShow(CommonProto.PurpleSealShowInfo.newBuilder().setType(value.getType()).
|
||||
setId(value.getSealId()).setHeroTId(hero==null?0:hero.getTemplateId()));
|
||||
}
|
||||
builder.setTeam(teamOneTeamInfo.build());
|
||||
//builder.addCrossTeam(teamOneTeamInfo.build());
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
public CrossArenaManager getCrossArenaManagerData(CSPlayer csPlayer )throws Exception{
|
||||
String rpcString = RedisUtil.getInstence().getObject(RedisKey.LOGIC_SERVER_INFO, String.valueOf(csPlayer.getServerId()), String.class, -1);
|
||||
String ip = rpcString.split(":")[0];
|
||||
|
|
@ -1065,7 +1134,7 @@ public class PlayerLogic {
|
|||
CoreSettings coreSettings = ConfigurableApplicationContextManager.getBean(CoreSettings.class);
|
||||
if(GameApplication.serverId == csPlayer.getServerId()){
|
||||
User user = UserManager.getUser(id);
|
||||
return PlayerLogic.getInstance().getCrossYxldMyTeamInfo(user, team);
|
||||
return PlayerLogic.getInstance().getCrossYxldMyTeamInfoNew(user, team);
|
||||
}
|
||||
CrossArenaManager crossArenaManager = getCrossArenaManagerData(csPlayer) ;
|
||||
if(crossArenaManager == null){
|
||||
|
|
|
|||
Loading…
Reference in New Issue