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 95548f324..de3e4113d 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 @@ -90,7 +90,6 @@ public class CrossServiceLogic { * @throws Exception */ public void dispose(User user) throws Exception{ - ArenaOfUser query = query(user.getId()); ArenaOfUser arenaOfUser = buildArenaOfUser(user); countForce(arenaOfUser); @@ -101,6 +100,7 @@ public class CrossServiceLogic { update(arenaOfUser); } } + public ArenaOfUser buildArenaOfUser(User user){ ArenaOfUser arenaOfUser = new ArenaOfUser(); arenaOfUser.setId(user.getId()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/CrossDeathPathLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/CrossDeathPathLogic.java index 0d2b9912c..79a018474 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/CrossDeathPathLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/CrossDeathPathLogic.java @@ -124,7 +124,10 @@ public class CrossDeathPathLogic { // 结算标识设置 redisUtil.hset(RedisKey.DEATH_PATH_EVERY_OVER_HASH,String.valueOf(GameApplication.serverId),1); - User user = UserManager.getUser(uid); + User user = UserManager.getUserNotCache(uid); + if (user == null){ + return; + } CrossServiceLogic.getInstance().dispose(user); } 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 b2692e9f5..1c3b30bf7 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 @@ -1193,11 +1193,6 @@ public class HeroLogic{ RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), teamForce); } - if (teamId == GlobalsDef.FORMATION_NORMAL) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(iSession.getUid())); - CrossServiceLogic.getInstance().dispose(user); - } - // 跨服 更新编队信息 if (teamId == GlobalsDef.WORLD_TEAM_ARENA_DEFENSE) { CrossServiceLogic.getInstance().dispose(user); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/sevenworld/SevenWorldLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/sevenworld/SevenWorldLogic.java index 685f1bd5d..64cc8e574 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/sevenworld/SevenWorldLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/sevenworld/SevenWorldLogic.java @@ -11,6 +11,7 @@ import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.logic.GlobleSystemLogic; +import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SevenWorldIntegralEvent; import com.ljsd.jieling.logic.dao.Hero; @@ -269,6 +270,8 @@ public class SevenWorldLogic { // 层数 user.getPlayerInfoManager().putSevenWorldOpenTier(week,tierId); } + // 跨服数据保存 + CrossServiceLogic.getInstance().dispose(user); } // 战斗数据 builder.setResult(fightResult.getResult());