Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
fea1806186
|
@ -4,10 +4,13 @@ import com.ljsd.jieling.db.mongo.MongoUtil;
|
|||
import com.ljsd.jieling.logic.dao.Equip;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class Cmd_fixEquip extends GmAbstract{
|
||||
public class Cmd_fixequip extends GmAbstract{
|
||||
@Override
|
||||
public boolean exec(String[] args) throws Exception {
|
||||
List<User> userList = MongoUtil.getInstence().getMyMongoTemplate().findAll(User.getCollectionName(), User.class);
|
||||
|
@ -16,7 +19,14 @@ public class Cmd_fixEquip extends GmAbstract{
|
|||
Map<String, Equip> equipMap = user.getEquipManager().getEquipMap();
|
||||
user.getHeroManager().getHeroMap().values().forEach(hero -> {
|
||||
Map<Integer, String> equipByPositionMap = hero.getEquipByPositionMap();
|
||||
equipByPositionMap.values().forEach(equipId -> equipMap.get(equipId).setHeroId(hero.getId()));
|
||||
Set<Integer> removeHeroEquip = new HashSet<>();
|
||||
for(Map.Entry<Integer,String> item : equipByPositionMap.entrySet()){
|
||||
if(!equipMap.containsKey(item.getValue())){
|
||||
removeHeroEquip.add(item.getKey());
|
||||
}
|
||||
}
|
||||
removeHeroEquip.forEach(hero::removeEquip);
|
||||
hero.getEquipByPositionMap().values().forEach(equipId -> equipMap.get(equipId).setHeroId(hero.getId()));
|
||||
});
|
||||
});
|
||||
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
|
@ -3,6 +3,8 @@ 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.Equip;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
|
@ -23,6 +25,9 @@ public class RemoveEventHeroHandler implements IEventHandler{
|
|||
if(userInMem == null){
|
||||
return;
|
||||
}
|
||||
Hero hero = userInMem.getHeroManager().getHeroMap().get(heroId);
|
||||
Map<String, Equip> equipMap = userInMem.getEquipManager().getEquipMap();
|
||||
hero.getEquipByPositionMap().values().forEach(equip->equipMap.get(equip).setHeroId(""));
|
||||
Map<String, Integer> endlessHeroInfo = userInMem.getMapManager().getEndlessMapInfo().getEndlessHeroInfo();
|
||||
if(endlessHeroInfo!=null && endlessHeroInfo.containsKey(heroId)){
|
||||
endlessHeroInfo.remove(heroId);
|
||||
|
|
|
@ -63,8 +63,8 @@ public class HeroManager extends MongoBase {
|
|||
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));
|
||||
heroMap.remove(heroId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public class SAccomplishmentConfig implements BaseConfig {
|
|||
int mapId = sAccomplishmentConfig.getMapId();
|
||||
sAccomplishmentConfigByMapIdMap.computeIfAbsent(mapId,v->new ArrayList<>()).add(sAccomplishmentConfig);
|
||||
sAccomplishmentConfigByMapIdAndLogicMap.computeIfAbsent(mapId,v->new HashMap<>());
|
||||
sAccomplishmentConfigByMapIdAndLogicMap.get(mapId).computeIfAbsent(logic,v->new ArrayList<>()).add(sAccomplishmentConfig);
|
||||
sAccomplishmentConfigByMapIdAndLogicMap.get(mapId).computeIfAbsent(sAccomplishmentConfig.getLogic(),v->new ArrayList<>()).add(sAccomplishmentConfig);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue