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.Equip;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
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
|
@Override
|
||||||
public boolean exec(String[] args) throws Exception {
|
public boolean exec(String[] args) throws Exception {
|
||||||
List<User> userList = MongoUtil.getInstence().getMyMongoTemplate().findAll(User.getCollectionName(), User.class);
|
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();
|
Map<String, Equip> equipMap = user.getEquipManager().getEquipMap();
|
||||||
user.getHeroManager().getHeroMap().values().forEach(hero -> {
|
user.getHeroManager().getHeroMap().values().forEach(hero -> {
|
||||||
Map<Integer, String> equipByPositionMap = hero.getEquipByPositionMap();
|
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();
|
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.IEvent;
|
||||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
import com.ljsd.jieling.logic.activity.event.RemoveHeroEvent;
|
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.UserManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
|
||||||
|
@ -23,6 +25,9 @@ public class RemoveEventHeroHandler implements IEventHandler{
|
||||||
if(userInMem == null){
|
if(userInMem == null){
|
||||||
return;
|
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();
|
Map<String, Integer> endlessHeroInfo = userInMem.getMapManager().getEndlessMapInfo().getEndlessHeroInfo();
|
||||||
if(endlessHeroInfo!=null && endlessHeroInfo.containsKey(heroId)){
|
if(endlessHeroInfo!=null && endlessHeroInfo.containsKey(heroId)){
|
||||||
endlessHeroInfo.remove(heroId);
|
endlessHeroInfo.remove(heroId);
|
||||||
|
|
|
@ -63,8 +63,8 @@ public class HeroManager extends MongoBase {
|
||||||
public void removeHero(int uid,String heroId) {
|
public void removeHero(int uid,String heroId) {
|
||||||
if (heroMap.containsKey(heroId)){
|
if (heroMap.containsKey(heroId)){
|
||||||
removeString(getMongoKey()+".heroMap." + heroId);
|
removeString(getMongoKey()+".heroMap." + heroId);
|
||||||
heroMap.remove(heroId);
|
|
||||||
Poster.getPoster().dispatchEvent(new RemoveHeroEvent(uid,heroId));
|
Poster.getPoster().dispatchEvent(new RemoveHeroEvent(uid,heroId));
|
||||||
|
heroMap.remove(heroId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class SAccomplishmentConfig implements BaseConfig {
|
||||||
int mapId = sAccomplishmentConfig.getMapId();
|
int mapId = sAccomplishmentConfig.getMapId();
|
||||||
sAccomplishmentConfigByMapIdMap.computeIfAbsent(mapId,v->new ArrayList<>()).add(sAccomplishmentConfig);
|
sAccomplishmentConfigByMapIdMap.computeIfAbsent(mapId,v->new ArrayList<>()).add(sAccomplishmentConfig);
|
||||||
sAccomplishmentConfigByMapIdAndLogicMap.computeIfAbsent(mapId,v->new HashMap<>());
|
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