队伍战力存储到mongo,优化一下

back_recharge
duhui 2022-04-26 14:39:31 +08:00
parent c8e8e644df
commit b97b400182
3 changed files with 55 additions and 41 deletions

View File

@ -311,7 +311,7 @@ public class GlobalDataManaager implements IManager {
new ShanHeSheJiTuEventHandler(); new ShanHeSheJiTuEventHandler();
new SummonTreasureHandler(); new SummonTreasureHandler();
new ArchitectureUnLockHandler(); new ArchitectureUnLockHandler();
new SaveHeroForceEvent(); new SaveHeroForceEventHandler();
// 四灵试炼转移数据,只执行一次 // 四灵试炼转移数据,只执行一次
// FourChallengeLogic.getInstance().redisToMongoDB(); // FourChallengeLogic.getInstance().redisToMongoDB();
ChampionshipLogic.minuteCheck(true); ChampionshipLogic.minuteCheck(true);

View File

@ -1,20 +1,12 @@
package com.ljsd.jieling.logic.activity.event; 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 * @author ascend
* 2022/4/26 10:29:18 * 2022/4/26 10:29:18
*/ */
public class SaveHeroForceEvent implements IEvent, IEventHandler { public class SaveHeroForceEvent implements IEvent {
private int uid; private int uid;
@ -25,37 +17,6 @@ public class SaveHeroForceEvent implements IEvent, IEventHandler {
this.heroId = heroId; 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<Integer> 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() { public int getUid() {
return uid; return uid;
} }

View File

@ -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<Integer> 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);
}
}
}