From f67f3e1e2c4c35f9f709ac0bb0a0a93fbfb105e0 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 19 Mar 2025 19:33:18 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3540:=20=E6=B7=BB=E5=8A=A0=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/nanopart/doc/api/domain/IndexNodeScope.java | 11 +++++++++++ .../cn/axzo/nanopart/doc/file/index/IndexSupport.java | 5 +++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java index 56ba6b97..65019355 100644 --- a/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java +++ b/doc/doc-api/src/main/java/cn/axzo/nanopart/doc/api/domain/IndexNodeScope.java @@ -2,6 +2,7 @@ package cn.axzo.nanopart.doc.api.domain; import cn.axzo.nanopart.doc.api.enums.DatabaseScope; +import cn.axzo.nanopart.doc.api.enums.DatabaseType; import cn.axzo.nanopart.doc.api.enums.IndexNodeContext; /** @@ -30,6 +31,16 @@ public interface IndexNodeScope { } } + default boolean isLimitChildrenCount() { + switch (context()) { + case FILE_TEMPLATE: + case TEMPLATE_DATABASE: + return true; + default: + return scope().getDatabaseType() != DatabaseType.NONE; + } + } + IndexNodeScope FILE_TEMPLATE = () -> IndexNodeContext.FILE_TEMPLATE; IndexNodeScope TEMPLATE_DATABASE = () -> IndexNodeContext.TEMPLATE_DATABASE; diff --git a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/index/IndexSupport.java b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/index/IndexSupport.java index b3610c08..1a4ab86a 100644 --- a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/index/IndexSupport.java +++ b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/index/IndexSupport.java @@ -92,8 +92,9 @@ class IndexSupport { BizAssertions.assertTrue( indexNodeDao.validChildrenCount(parent.getCode()) < docProps.getIndexNodeMaxChildrenSize(), "创建失败, 子节点数量不能超过 {}", docProps.getIndexNodeMaxChildrenSize()); - BizAssertions.assertTrue(parent.path().depth() < docProps.getIndexNodeMaxDepth(), // - "节点深度超过限制{}, 无法再创建新节点", docProps.getIndexNodeMaxDepth()); + if (parent.isLimitChildrenCount()) + BizAssertions.assertTrue(parent.path().depth() < docProps.getIndexNodeMaxDepth(), // + "节点深度超过限制{}, 无法再创建新节点", docProps.getIndexNodeMaxDepth()); } void incrNameIfDuplicate(IndexNode rename) {