From ae732cb0fa6527724da347c230ab06186dc3b7aa Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Tue, 26 Oct 2021 10:23:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=B7=A8=E6=9C=8D=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=88=A4=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/fight/FightUtil.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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 790d06fb8..6ec987921 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 @@ -673,6 +673,7 @@ public class FightUtil { .build(); } + //TODO 规范这个参数 public static CommonProto.FightTeamInfo makeCrossPersonData(CSPlayer csPlayer, int teamId, ArenaRecord arenaRecord, CrossArenaManager crossArenaManager) throws Exception { //CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(uid); if (csPlayer == null) { @@ -685,8 +686,10 @@ public class FightUtil { User user = UserManager.getUser(csPlayer.getUserId()); List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().getOrDefault(teamId, new ArrayList<>()); int addforce = HeroLogic.getInstance().calTeamTotalForce(user, teamId, false); - arenaRecord.setAttackForce(arenaRecord.getAttackForce() + addforce); - arenaRecord.getYxldDefForce().add(addforce); + if(arenaRecord != null){ + arenaRecord.setAttackForce(arenaRecord.getAttackForce() + addforce); + arenaRecord.getYxldDefForce().add(addforce); + } for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) { Hero hero = user.getHeroManager().getHeroMap().get(teamPosHeroInfo.getHeroId()); if (hero == null) { @@ -722,8 +725,10 @@ public class FightUtil { } List teamPosHeroInfos = crossArenaManager.getTeams().getOrDefault(teamId, new ArrayList<>()); int addforcerpc = crossArenaManager.getTotalForceByTeam().get(teamId); - arenaRecord.getYxldDefForce().add(addforcerpc); - arenaRecord.setAttackForce(arenaRecord.getAttackForce() + addforcerpc); + if(arenaRecord != null){ + arenaRecord.getYxldDefForce().add(addforcerpc); + arenaRecord.setAttackForce(arenaRecord.getAttackForce() + addforcerpc); + } //Collection seals = crossArenaManager.getSeals().values(); for (com.ljsd.jieling.thrift.idl.TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) { com.ljsd.jieling.thrift.idl.ArenaOfHero hero = crossArenaManager.getHeros().get(teamPosHeroInfo.getHeroId()); From ee66dc9c2513291935893e20f3f11ef2f8e4b297 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Tue, 26 Oct 2021 10:29:50 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=B7=A8=E6=9C=8D=E5=88=87=E7=A3=8B?= =?UTF-8?q?=E4=B8=BB=E8=A7=92=E6=8A=80=E8=83=BDbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java | 6 +++++- .../main/java/com/ljsd/jieling/logic/fight/FightUtil.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index 3f096bd2b..03f16a5d5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -22,6 +22,7 @@ import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic; import com.ljsd.jieling.logic.dao.*; +import com.ljsd.jieling.logic.dao.cross.CSPlayer; import com.ljsd.jieling.logic.dao.gm.ArenaOfUser; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.family.CrossDeathPathLogic; @@ -38,6 +39,7 @@ import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.logic.redpacket.WelfareRedPackEvent; import com.ljsd.jieling.logic.redpacket.WelfareRedPacketType; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.thrift.idl.CrossArenaManager; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import config.*; @@ -670,7 +672,9 @@ public class ArenaLogic { //跨服切磋 ArenaOfUser user = CrossServiceLogic.getInstance().query(challengeUid); deforce = user.getHeroManager().getTotalForceByTeam().get(myteamId); - deffightTeamInfo = FightUtil.makeCrossPersonData(user,myteamId,deforce); + CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(user.getId()); + CrossArenaManager crossArenaManager = PlayerLogic.getInstance().getCrossArenaManagerData(csPlayer); + deffightTeamInfo = FightUtil.makeCrossPersonData(csPlayer, myteamId, null, crossArenaManager); } if(myforce