diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/utils/NodeUtils.java b/muyu-quest-server/src/main/java/com/muyu/quest/utils/NodeUtils.java index d5528b7..8e55859 100644 --- a/muyu-quest-server/src/main/java/com/muyu/quest/utils/NodeUtils.java +++ b/muyu-quest-server/src/main/java/com/muyu/quest/utils/NodeUtils.java @@ -100,14 +100,20 @@ public class NodeUtils { nodeTypeList.forEach(nodeType -> { // 根据节点类型查询对应类型节点 List nodes = nodeMapAll.get(nodeType.getNodeTypeCode()); + Integer maxNum = nodeType.getNodeMaxNum(); Integer minNum = nodeType.getNodeMinNum(); - int num = nodes.size(); - if (minNum != -1 && num < minNum){ + if (!nodes.isEmpty()){ + int num = nodes.size(); + if (minNum != -1 && num < minNum){ + throw new TaskException("节点 " + nodeType.getNodeTypeName() + " 数量不足,至少需要 " + minNum + " 个"); + }else if (maxNum != -1 && num > maxNum){ + throw new TaskException("节点 " + nodeType.getNodeTypeName() + " 数量超出范围,最多允许 " + maxNum + " 个"); + } + }else if (minNum != -1){ throw new TaskException("节点 " + nodeType.getNodeTypeName() + " 数量不足,至少需要 " + minNum + " 个"); - }else if (maxNum != -1 && num > maxNum){ - throw new TaskException("节点 " + nodeType.getNodeTypeName() + " 数量超出范围,最多允许 " + maxNum + " 个"); } + }); }