From 9aa5b0bc0c29d6e4a3549d17284cd21925e7b8d8 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Tue, 4 Nov 2025 14:43:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../convertor/DepartmentCoConvertor.java | 1 + .../command/query/DepartmentQueryExe.java | 26 +++---------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/convertor/DepartmentCoConvertor.java b/web-app/src/main/java/com/zcloud/basic/info/command/convertor/DepartmentCoConvertor.java index 87a9c74..282b07b 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/convertor/DepartmentCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/convertor/DepartmentCoConvertor.java @@ -5,6 +5,7 @@ import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO; import com.zcloud.basic.info.persistence.dataobject.DepartmentDO; import com.zcloud.gbscommon.zclouddepartment.response.ZcloudDepartmentInfoCo; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; import java.util.List; diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java index 6cbdc7b..1683d8c 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java @@ -15,6 +15,7 @@ import com.zcloud.basic.info.dto.clientobject.DepartmentTreeInfoCO; import com.zcloud.basic.info.persistence.dataobject.DepartmentDO; import com.zcloud.basic.info.persistence.repository.DepartmentRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Tools; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -50,37 +51,18 @@ public class DepartmentQueryExe { } public List listTree(DepartmentTreeQry departmentQry) { - if(Objects.isNull(departmentQry.getEqCorpinfoId())){ + if (Objects.isNull(departmentQry.getEqCorpinfoId())) { departmentQry.setEqCorpinfoId(AuthContext.getTenantId()); - } Map parmas = PageQueryHelper.toHashMap(departmentQry); List pageResponse = departmentRepository.listTree(parmas); - if(CollUtil.isEmpty(pageResponse)) { + if (CollUtil.isEmpty(pageResponse)) { return Collections.emptyList(); } List examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse); - Map> childrenMap = new HashMap<>(); - for (DepartmentTreeInfoCO dept : examCenterCOS) { - childrenMap - .computeIfAbsent(dept.getParentId(), k -> new ArrayList<>()) - .add(dept); - } - return buildTree(childrenMap, 0L); + return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList"); } - private List buildTree(Map> childrenMap, Long parentId) { - List nodes = childrenMap.get(parentId); - if (nodes == null) { - return Collections.emptyList(); - } - for (DepartmentTreeInfoCO node : nodes) { - // 递归构建子节点 - List children = buildTree(childrenMap, node.getId()); - node.setChildrenList(children); - } - return nodes; - } public DepartmentCO info(Long id) { DepartmentDO info = departmentRepository.getById(id);