队伍战力存储到mongo,优化一下
parent
c8e8e644df
commit
b97b400182
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue