From 356f652cd109c99d7750caedeea433c8d3e7e184 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sat, 3 Jul 2021 22:00:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E6=97=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crossService/CrossServiceLogic.java | 20 ++++++--------- .../ljsd/jieling/logic/fight/FightUtil.java | 4 +-- .../ljsd/jieling/logic/hero/HeroLogic.java | 25 +++++++++++++++++++ 3 files changed, 34 insertions(+), 15 deletions(-) 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();