sore flush
parent
29d1439c50
commit
8462e03b43
|
@ -724,6 +724,12 @@ public class MapManager extends MongoBase {
|
|||
endlessMapInfo.setCurMapId(mapId);
|
||||
updateString("endlessMapInfo.curMapId",mapId);
|
||||
}
|
||||
|
||||
public void updateEndlessHero(Map<String, Integer> endlessHeroInfo){
|
||||
endlessMapInfo.setEndlessHeroInfo(endlessHeroInfo);
|
||||
updateString("endlessMapInfo.endlessHeroInfo",endlessHeroInfo);
|
||||
}
|
||||
|
||||
public void addEndlessSign(int mapId,int cellId,String info){
|
||||
if(endlessMapInfo.getMapSign()==null){
|
||||
endlessMapInfo.setMapSign(new HashMap<>());
|
||||
|
|
|
@ -10,6 +10,7 @@ import com.ljsd.jieling.db.mongo.MongoUtil;
|
|||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.FightMainEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.RemoveEventHeroHandler;
|
||||
import com.ljsd.jieling.logic.activity.UserLevelEventHandler;
|
||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||
import com.ljsd.jieling.logic.blood.BloodLogic;
|
||||
|
@ -241,6 +242,7 @@ public class GlobalDataManaager {
|
|||
new RPCServerTask(configurableApplicationContext).start();
|
||||
new RPCGmServerTask(configurableApplicationContext).start();
|
||||
new UserLevelEventHandler();
|
||||
new RemoveEventHeroHandler();
|
||||
new FightMainEventHandler();
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("e",e);
|
||||
|
@ -305,12 +307,7 @@ public class GlobalDataManaager {
|
|||
FriendLogic.getInstance().refreshState(session);
|
||||
|
||||
PlayerLogic.getInstance().sendTimingMail(user);
|
||||
// int sendDays = user.getPlayerInfoManager().getSendDays();
|
||||
// int differentDays = TimeUtils.differentDaysByHour( user.getPlayerInfoManager().getLoginTime(),System.currentTimeMillis(), 5);
|
||||
// int days = sendDays + differentDays;
|
||||
// PlayerLogic.getInstance().sendTestWelfareMail(user,sendDays+1,sendDays+differentDays);
|
||||
// user.getPlayerInfoManager().setSendDays(days);
|
||||
// MapLogic.getInstance().towerAutoReset(session,fBuilder);
|
||||
|
||||
if(fBuilder!=null){
|
||||
fBuilder.setSignInInfo(CommonProto.SignInInfo.newBuilder().setDays(user.getPlayerInfoManager().getSign()+1).setState(user.getPlayerInfoManager().getSignTotay()).build());
|
||||
user.getPlayerInfoManager().setLoginTime(TimeUtils.now());
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.RemoveHeroEvent;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class RemoveEventHeroHandler implements IEventHandler{
|
||||
|
||||
public RemoveEventHeroHandler() {
|
||||
Poster.getPoster().listenEvent(this, RemoveHeroEvent.class);
|
||||
}
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if(event instanceof RemoveHeroEvent){
|
||||
RemoveHeroEvent removeHeroEvent = (RemoveHeroEvent)event;
|
||||
int uid = removeHeroEvent.getUid();
|
||||
String heroId = removeHeroEvent.getHeroId();
|
||||
User userInMem = UserManager.getUserInMem(uid);
|
||||
if(userInMem == null){
|
||||
return;
|
||||
}
|
||||
Map<String, Integer> endlessHeroInfo = userInMem.getMapManager().getEndlessMapInfo().getEndlessHeroInfo();
|
||||
if(endlessHeroInfo!=null && endlessHeroInfo.containsKey(heroId)){
|
||||
endlessHeroInfo.remove(heroId);
|
||||
userInMem.getMapManager().updateEndlessHero(endlessHeroInfo);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
public class RemoveHeroEvent implements IEvent {
|
||||
private int uid;
|
||||
private String heroId;
|
||||
|
||||
public RemoveHeroEvent(int uid, String heroId) {
|
||||
this.uid = uid;
|
||||
this.heroId = heroId;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public String getHeroId() {
|
||||
return heroId;
|
||||
}
|
||||
}
|
|
@ -2,6 +2,8 @@ package com.ljsd.jieling.logic.dao;
|
|||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.RemoveHeroEvent;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
@ -50,10 +52,11 @@ public class HeroManager extends MongoBase {
|
|||
return heroMap.get(heroId);
|
||||
}
|
||||
|
||||
public void removeHero(String heroId) {
|
||||
public void removeHero(int uid,String heroId) {
|
||||
if (heroMap.containsKey(heroId)){
|
||||
removeString(getMongoKey()+".heroMap." + heroId);
|
||||
heroMap.remove(heroId);
|
||||
Poster.getPoster().dispatchEvent(new RemoveHeroEvent(uid,heroId));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -705,14 +705,6 @@ public class HeroLogic {
|
|||
}
|
||||
|
||||
|
||||
|
||||
public void recyleHeroBySystem(User user,Set<String> removeHeroIds) throws Exception {
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
for(String useHeroId : removeHeroIds){
|
||||
heroManager.removeHero(useHeroId);
|
||||
}
|
||||
}
|
||||
|
||||
//初始属性*(1+化境增长)*等级系数 + 初始属性*突破系数
|
||||
private Map<Integer,Integer> calHeroAllAttribute(Hero hero,boolean isForce){
|
||||
Map<Integer,Integer> result = new HashMap<>();
|
||||
|
@ -2071,7 +2063,7 @@ public class HeroLogic {
|
|||
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
|
||||
}
|
||||
|
||||
heroManager.removeHero(heroId);
|
||||
heroManager.removeHero(uid,heroId);
|
||||
int[][] returnMaterials = sHeroReturn.getReturnMaterials();
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, returnMaterials, BIReason.HERO_BACK_REWARD);
|
||||
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
|
||||
|
|
|
@ -303,7 +303,7 @@ public class ItemLogic {
|
|||
Map<Integer,Integer> baseRandomMap = new HashMap<>();
|
||||
for (String heroId : heroIdsList) {
|
||||
Hero hero = heroManager.getHeroMap().get(heroId);
|
||||
heroManager.removeHero(heroId);
|
||||
heroManager.removeHero(uid,heroId);
|
||||
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
|
||||
ItemUtil.combineReward(sumConsume,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
||||
int breakId = hero.getBreakId();
|
||||
|
|
|
@ -115,7 +115,6 @@ public class StoreLogic {
|
|||
User user = UserManager.getUser(session.getUid());
|
||||
if(user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
|
||||
updateUsersStoreAyync(UserManager.getUser(session.getUid()),user1 -> {
|
||||
getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
|
||||
StoreInfo storeInfo = user.getStoreManager().getStoreInfoMap().get(sStoreTypeConfig.getId());
|
||||
|
||||
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
||||
|
@ -200,6 +199,13 @@ public class StoreLogic {
|
|||
removeStoreIds.add(storeInfo.getId());
|
||||
}
|
||||
}
|
||||
boolean overTime = TimeUtils.isOverTime((int)(nowTime/1000), storeInfo.getLastRefreshTime());
|
||||
if (overTime){
|
||||
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
||||
storeInfo.setLastRefreshTime(nowTime);
|
||||
storeInfo.setItemNumMap(storeItem);
|
||||
sendStoreUpdateIndication(user.getId(),storeInfo);
|
||||
}
|
||||
}
|
||||
for(Integer removeStoreId : removeStoreIds){
|
||||
storeManager.removeStoreInfo(removeStoreId);
|
||||
|
@ -209,6 +215,8 @@ public class StoreLogic {
|
|||
initOneStore(user,openId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void sendStoreUpdateIndication(int uid,StoreInfo storeInfo){
|
||||
|
|
|
@ -413,6 +413,7 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
//更新在线时长
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.OnlineReward,(int)(onlineTime/TimeUtils.ONE_SECOND));
|
||||
MongoUtil.getInstence().lastUpdate();
|
||||
session.setFiveReady(0);
|
||||
}
|
||||
backUpMsgToRedis(session);
|
||||
// 下线处理的逻辑需要添加在这里
|
||||
|
|
Loading…
Reference in New Issue