diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index ee5d94923..c0abe1a0f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -311,7 +311,7 @@ public class GlobalDataManaager implements IManager { new ShanHeSheJiTuEventHandler(); new SummonTreasureHandler(); new ArchitectureUnLockHandler(); - new SaveHeroForceEvent(); + new SaveHeroForceEventHandler(); // 四灵试炼转移数据,只执行一次 // FourChallengeLogic.getInstance().redisToMongoDB(); ChampionshipLogic.minuteCheck(true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SaveHeroForceEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SaveHeroForceEvent.java index 4aa5b0fcb..4f1216c83 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SaveHeroForceEvent.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SaveHeroForceEvent.java @@ -1,20 +1,12 @@ package com.ljsd.jieling.logic.activity.event; -import com.ljsd.jieling.logic.activity.IEventHandler; -import com.ljsd.jieling.logic.dao.TeamEnum; -import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.logic.hero.HeroLogic; - -import java.util.List; - /** * 说明:英雄战力存储 * * @author ascend * 2022/4/26 10:29:18 */ -public class SaveHeroForceEvent implements IEvent, IEventHandler { +public class SaveHeroForceEvent implements IEvent { private int uid; @@ -25,37 +17,6 @@ public class SaveHeroForceEvent implements IEvent, IEventHandler { this.heroId = heroId; } - public SaveHeroForceEvent() { - Poster.getPoster().listenEvent(this, SaveHeroForceEvent.class); - } - - @Override - public void onEvent(IEvent event) throws Exception { - if(!(event instanceof SaveHeroForceEvent)){ - return; - } - // 参数获取 - int uid = ((SaveHeroForceEvent) event).getUid(); - String heroId = ((SaveHeroForceEvent) event).getHeroId(); - // user - User user = UserManager.getUser(uid); - // 需要存储战力的编队 - List saveForceTeamList = TeamEnum.getSaveForceTeamList(); - for (Integer teamId : saveForceTeamList) { - // 英雄是否存在该编队中 - if (!HeroLogic.getInstance().isInTeam(user,heroId,teamId) && !"".equals(heroId)){ - continue; - } - // 主线标对需要更新排行榜信息 - if (teamId == TeamEnum.FORMATION_NORMAL.getTeamId()){ - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid)); - } - // 重新计算战力,并更新 - int force = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false); - user.getTeamPosManager().putTeamForceMap(teamId,force); - } - } - public int getUid() { return uid; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/SaveHeroForceEventHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/SaveHeroForceEventHandler.java new file mode 100644 index 000000000..877ac24a1 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/SaveHeroForceEventHandler.java @@ -0,0 +1,53 @@ +package com.ljsd.jieling.logic.activity.eventhandler; + +import com.ljsd.jieling.logic.activity.IEventHandler; +import com.ljsd.jieling.logic.activity.event.IEvent; +import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; +import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent; +import com.ljsd.jieling.logic.dao.TeamEnum; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.hero.HeroLogic; + +import java.util.List; + +/** + * 说明:英雄战力存储 + * + * @author ascend + * 2022/4/26 10:29:18 + */ +public class SaveHeroForceEventHandler implements IEventHandler { + + public SaveHeroForceEventHandler() { + Poster.getPoster().listenEvent(this, SaveHeroForceEvent.class); + } + + @Override + public void onEvent(IEvent event) throws Exception { + if(!(event instanceof SaveHeroForceEvent)){ + return; + } + // 参数获取 + int uid = ((SaveHeroForceEvent) event).getUid(); + String heroId = ((SaveHeroForceEvent) event).getHeroId(); + // user + User user = UserManager.getUser(uid); + // 需要存储战力的编队 + List saveForceTeamList = TeamEnum.getSaveForceTeamList(); + for (Integer teamId : saveForceTeamList) { + // 英雄是否存在该编队中 + if (!HeroLogic.getInstance().isInTeam(user,heroId,teamId) && !"".equals(heroId)){ + continue; + } + // 主线标对需要更新排行榜信息 + if (teamId == TeamEnum.FORMATION_NORMAL.getTeamId()){ + Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid)); + } + // 重新计算战力,并更新 + int force = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false); + user.getTeamPosManager().putTeamForceMap(teamId,force); + } + } +}