From ea38d3a38c37b68ad9102b0fdae9a4ff844e9f42 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Fri, 19 May 2023 11:37:10 +0800
Subject: [PATCH] 增加返回所有行政区划接口

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
index 7456274..f51efde 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
@@ -1,5 +1,7 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
+import cn.gistack.common.node.TreeNode;
+import cn.gistack.common.utils.NodeTreeUtil;
 import cn.gistack.sm.sjztmd.entity.AttAdBase;
 import cn.gistack.sm.sjztmd.mapper.AttAdBaseMapper;
 import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
@@ -8,8 +10,11 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName AttAdBaseServiceImpl
@@ -25,4 +30,42 @@
 	public List<AttAdBaseVO> lazyTree(String parentCode, Map<String, Object> param) {
 		return baseMapper.lazyTree(parentCode, param);
 	}
+
+	@Override
+	public List<AttAdBaseVO> lazyTreeAll(String parentCode, Map<String, Object> param) {
+		return baseMapper.lazyTreeAll(parentCode, param);
+	}
+
+	/**
+	 * 查询区域菜单树-带层级
+	 * @param parentCode
+	 * @param obj
+	 * @return
+	 */
+	@Override
+	public Object selectAttAdBaseTree(String parentCode, Map<String, Object> obj) {
+		List<TreeNode> nodeTree = NodeTreeUtil.getNodeTree(baseMapper.selectAttAdBaseTree(parentCode, obj));
+		// 排序并返回
+		return sortTree(nodeTree);
+	}
+
+	/**
+	 * 排序--只排第一,二个子集
+	 * @param nodeTree
+	 */
+	private List<TreeNode> sortTree(List<TreeNode> nodeTree) {
+		for (TreeNode node : nodeTree) {
+			if (node.getHasChildren()){
+				List<TreeNode> children = node.getChildren();
+				// 遍历子节点
+				for (TreeNode child : children) {
+					if (child.getHasChildren()){
+						child.setChildren(child.getChildren().stream().sorted(Comparator.comparing(TreeNode::getId)).collect(Collectors.toList()));
+					}
+				}
+				node.setChildren(node.getChildren().stream().sorted(Comparator.comparing(TreeNode::getId)).collect(Collectors.toList()));
+			}
+		}
+		return nodeTree;
+	}
 }

--
Gitblit v1.9.3