diff --git a/docs/dev-guide/graphql/graphql-java.md b/docs/dev-guide/graphql/graphql-java.md index ffb15a17735a550d805f04e172587fb465a67643..3697126a9de2b27596889ff2d9a4f5908a27b72b 100644 --- a/docs/dev-guide/graphql/graphql-java.md +++ b/docs/dev-guide/graphql/graphql-java.md @@ -465,7 +465,7 @@ GraphQL是一种强类型的框架,它要求所有数据都有明确的类型 NopGraphQL引入了一个特殊的Scalar类型: Map,可以利用它来描述那些动态数据结构。例如 -```js +```graphql type QueryBean{ filter: Map orderBy: [OrderFieldBean] @@ -476,15 +476,17 @@ type QueryBean{ 对于单位树、菜单树这样的树形结构的获取,NopGraphQL通过Directive机制提供了一个扩展语法,可以直接表达递归拉取数据,例如 -```js -NopAuthDept_findList{ - value: id, - label: displayName - children @TreeChildren(max=5) +```graphql +query { + NopAuthDept_findList{ + value: id + label: displayName + children @TreeChildren(max:5) + } } ``` -`@TreeChildren(max=5)`表示按照本层的结构最多嵌套5层。 +`@TreeChildren(max:5)`表示按照本层的结构最多嵌套5层。 ## 文件上传下载 diff --git a/docs/tutorial/simple/7-graphql-extension.md b/docs/tutorial/simple/7-graphql-extension.md index a8c3e5f0b1e29b995bbd5b27af1672ea6748fa1e..2060a419c7ccbe9e4dba3f93422546377941b4ce 100644 --- a/docs/tutorial/simple/7-graphql-extension.md +++ b/docs/tutorial/simple/7-graphql-extension.md @@ -51,15 +51,17 @@ query{ 对于单位树、菜单树这样的树形结构的获取,NopGraphQL通过Directive机制提供了一个扩展语法,可以直接表达递归拉取数据,例如 -``` -NopAuthDept_findList{ - value: id, - label: displayName - children @TreeChildren(max=5) +```graphql +query { + NopAuthDept_findList{ + value: id + label: displayName + children @TreeChildren(max:5) + } } ``` -* `@TreeChildren(max=5)`表示按照本层的结构最多嵌套5层。 +* `@TreeChildren(max:5)`表示按照本层的结构最多嵌套5层。 ## 三. Map类型 diff --git a/nop-biz/src/main/java/io/nop/biz/crud/TreeEntityHelper.java b/nop-biz/src/main/java/io/nop/biz/crud/TreeEntityHelper.java index 414ce28459345f770db82c8bc3949e77dafa4e1f..c2ae89ee308ee86af27508913c747bd37d10b710 100644 --- a/nop-biz/src/main/java/io/nop/biz/crud/TreeEntityHelper.java +++ b/nop-biz/src/main/java/io/nop/biz/crud/TreeEntityHelper.java @@ -82,11 +82,13 @@ public class TreeEntityHelper { DaoQueryHelper.appendFilter(sb, "b", filter); } if (levelProp != null && rootLevelValue != null) { + if (filter != null) + sb.and(); sb.append("\n ").owner("b").append(levelProp).append("=").param(ConvertHelper.toInt(rootLevelValue)); } else { - // 如果 parentProp 属性在 filter 中存在,以传入的属性为准 - boolean hasParentProp = filter != null && ((TreeBean) filter).nodeWithAttr("name", parentProp) == null; - if (filter == null || hasParentProp) { + // 如果 parentProp 属性在 filter 中存在,则以传入的属性为准 + boolean hasParentProp = filter != null && ((TreeBean) filter).nodeWithAttr("name", parentProp) != null; + if (!hasParentProp) { if (filter != null) sb.and(); sb.append("\n ").owner("b").append(parentProp);