From 1e02dfb39ff1202679cbeaa2980a07dc47d5f793 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Sat, 8 Mar 2025 15:49:41 +0800 Subject: [PATCH] =?UTF-8?q?perf(X-Pack):=20=E7=BB=84=E7=BB=87=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=A1=B5=E9=9D=A2=E5=A2=9E=E5=8A=A0=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=87=92=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/permissions/org/api/OrgApi.java | 10 ++++--- .../permissions/org/vo/LazyOrgTreeNode.java | 30 +++++++++++++++++++ .../api/permissions/org/vo/LazyTreeVO.java | 15 ++++++++++ 3 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/vo/LazyOrgTreeNode.java create mode 100644 sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/vo/LazyTreeVO.java diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/api/OrgApi.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/api/OrgApi.java index 60a4108833..c98ed3ea41 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/api/OrgApi.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/api/OrgApi.java @@ -5,10 +5,7 @@ import io.dataease.api.permissions.org.dto.OrgCreator; import io.dataease.api.permissions.org.dto.OrgEditor; import io.dataease.api.permissions.org.dto.OrgLazyRequest; import io.dataease.api.permissions.org.dto.OrgRequest; -import io.dataease.api.permissions.org.vo.LazyMountedVO; -import io.dataease.api.permissions.org.vo.MountedVO; -import io.dataease.api.permissions.org.vo.OrgDetailVO; -import io.dataease.api.permissions.org.vo.OrgPageVO; +import io.dataease.api.permissions.org.vo.*; import io.dataease.auth.DeApiPath; import io.dataease.auth.DePermit; import io.dataease.model.KeywordRequest; @@ -35,6 +32,11 @@ public interface OrgApi { @DePermit("m:read") List pageTree(@RequestBody OrgRequest request); + @Operation(summary = "懒加载组织树") + @PostMapping("/page/lazyTree") + @DePermit("m:read") + LazyTreeVO lazyPageTree(@RequestBody OrgLazyRequest request); + @Operation(summary = "创建") @DePermit({"m:read"}) @PostMapping("/page/create") diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/vo/LazyOrgTreeNode.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/vo/LazyOrgTreeNode.java new file mode 100644 index 0000000000..c76f262fff --- /dev/null +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/vo/LazyOrgTreeNode.java @@ -0,0 +1,30 @@ +package io.dataease.api.permissions.org.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Schema(description = "组织列表VO") +@Data +public class LazyOrgTreeNode implements Serializable { + @Schema(description = "ID") + @JsonSerialize(using= ToStringSerializer.class) + private Long id; + @Schema(description = "PID") + @JsonSerialize(using= ToStringSerializer.class) + private Long pid; + @Schema(description = "名称") + private String name; + @Schema(description = "创建时间") + private Long createTime; + @Schema(description = "只读") + private boolean readOnly = true; + @Schema(description = "有子集") + private boolean hasChildren; + @Schema(description = "子集") + private List children; +} diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/vo/LazyTreeVO.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/vo/LazyTreeVO.java new file mode 100644 index 0000000000..7d84026ec2 --- /dev/null +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/org/vo/LazyTreeVO.java @@ -0,0 +1,15 @@ +package io.dataease.api.permissions.org.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +@Schema(description = "组织树VO") +@Data +public class LazyTreeVO implements Serializable { + @Schema(description = "节点") + private List nodes; + @Schema(description = "展开节点") + private List expandKeyList; +}