diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HardStageManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HardStageManager.java index e10b44cc1..5b2163986 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HardStageManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HardStageManager.java @@ -38,8 +38,8 @@ public class HardStageManager extends MongoBase { if (user.getPlayerInfoManager().getLevel() < nodeOne.getLevelLimit()) { if (!noOpenId.contains(nodeOne.getId())) { noOpenId.add(nodeOne.getId()); + setNoOpenId(noOpenId); } - setNoOpenId(noOpenId); return map; } //初始化第一章第一节 @@ -86,21 +86,21 @@ public class HardStageManager extends MongoBase { * * @param config */ - public void openNewNode(int level, SHardStage config) { + public boolean openNewNode(int level, SHardStage config) { if (level < config.getLevelLimit()) { if (!noOpenId.contains(config.getId())) { noOpenId.add(config.getId()); + setNoOpenId(noOpenId); } - setNoOpenId(noOpenId); - return; + return false; } HardStageChapter chapter; chapter = chapterMap.computeIfAbsent(config.getChapter(), k -> initChapter(config.getChapter())); if (chapter.getNodeList().stream().anyMatch(n -> n.getId() == config.getId())) { - return; + return false; } HardStageNode node = initNode(config); - chapter.addNodeList(node); + return chapter.addNodeList(node); } public int getCurChapter() { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java index 27c2a32fa..c36de3cfc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java @@ -310,12 +310,15 @@ public class HardStageLogic { } SHardStage nodeConfig = SHardStage.getConfigMap().get(id); if(nodeConfig != null){ - user.getHardStageManager().openNewNode(level,nodeConfig); - if(user.getHardStageManager().getChapterMap(user).containsKey(nodeConfig.getChapter())){ + boolean openSuccess = user.getHardStageManager().openNewNode(level,nodeConfig); + if(openSuccess){ + needDel.add(nodeConfig.getId()); + } + /* if(user.getHardStageManager().getChapterMap(user).containsKey(nodeConfig.getChapter())){ if(user.getHardStageManager().getChapterMap(user).get(nodeConfig.getChapter()).getNodeList().stream().anyMatch(n->n.getId() == nodeConfig.getId())){ needDel.add(nodeConfig.getId()); } - } + }*/ } } for (int del:needDel) {