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 54db2faf7..ab0d87312 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 @@ -45,10 +45,9 @@ public class CrossServiceLogic { return core.findOne(query, CoreOfServerInfo.class).getName(); } - public void insert(User user) throws UnknownHostException { -// ArenaOfUser arenaOfUser = new ArenaOfUser(user); -// MongoTemplate core = MongoUtil.getCoreMongoTemplate(); -// core.insert(arenaOfUser,"arenaOfUser"); + public void insert(ArenaOfUser arenaOfUser) throws UnknownHostException { + MongoTemplate core = MongoUtil.getCoreMongoTemplate(); + core.insert(arenaOfUser,"arenaOfUser"); } public void update(ArenaOfUser arenaOfUser) throws Exception { @@ -91,17 +90,12 @@ public class CrossServiceLogic { public void dispose(User user) throws Exception{ ArenaOfUser query = query(user.getId()); + ArenaOfUser arenaOfUser = buildArenaOfUser(user); + countForce(arenaOfUser); // 添加 if (query == null){ - insert(user); - } - // 更新 - else { - // 获取新的跨服用户信息 - ArenaOfUser arenaOfUser = buildArenaOfUser(user); - // 计算战力 - countForce(arenaOfUser); - // 更新数据 + insert(arenaOfUser); + } else { update(arenaOfUser); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java index d6a691522..c19df624f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java @@ -596,8 +596,8 @@ public class FightUtil { return CommonProto.FightTeamInfo. newBuilder() .addAllFightUnitList(heroFightInfos) - .addAllPokemonUnitList(HeroLogic.getInstance().getPokemonSkills(user)) - .setTeamPassiveList(HeroLogic.getInstance().getPokenmonPassiveSkills(user,teamId)) + .addAllPokemonUnitList(HeroLogic.getInstance().getCrossPokemonSkills(arenaOfUser)) + .setTeamPassiveList("") .build(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 958b8353f..7e73dc19b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -1768,6 +1768,31 @@ public class HeroLogic{ return pokemonInfos; } + public List getCrossPokemonSkills(ArenaOfUser user){ + //todo 灵兽 + Map pokemons = user.getPokemons(); + List pokemonInfos = new ArrayList<>(); + int + for(Map.Entry entry:pokemons.entrySet()){ + Pokemon pokemon = entry.getValue(); + + if(pokemon==null){ + continue; + } + SSpiritAnimalSkill sSpiritAnimalSkill = SSpiritAnimalSkill.skillByAnimalAndStar.get(pokemon.getTmpId()).get(pokemon.getStar()); + Map map = calOnePokemonAttribute(pokemon.getTmpId(),pokemon.getStar(),pokemon.getLevel()); + StringBuilder propertyBuilder = getOnePokemonProperty(map,pokemon.getLevel()); + CommonProto.FightUnitInfo info = CommonProto.FightUnitInfo.newBuilder() + .setPosition(entry.getKey()) + .setStar(pokemon.getStar()) + .setProperty(propertyBuilder.toString()) + .setUnitId(String.valueOf(pokemon.getTmpId())).setUnitSkillIds(String.valueOf(sSpiritAnimalSkill.getId())).build(); + pokemonInfos.add(info); + } + return pokemonInfos; + } + + public String getPokenmonPassiveSkills(User user,int teamId){ //todo 灵兽 目前用不到 // Map pokemonMap = user.getPokemonManager().getPokemonMap();