perf(X-Pack): 组织管理页面增加分页以及懒加载

This commit is contained in:
fit2cloud-chenyw
2025-03-08 15:49:41 +08:00
committed by fit2cloud-chenyw
parent c3da5d478f
commit 1e02dfb39f
3 changed files with 51 additions and 4 deletions

View File

@@ -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<OrgPageVO> 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")

View File

@@ -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<LazyOrgTreeNode> children;
}

View File

@@ -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<LazyOrgTreeNode> nodes;
@Schema(description = "展开节点")
private List<String> expandKeyList;
}