linwei
2024-01-08 ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7
src/main/java/org/springblade/common/utils/NodeTreeUtil.java
@@ -1,6 +1,11 @@
package org.springblade.common.utils;
import org.springblade.common.node.TreeNode;
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.node.TreeLongNode;
import org.springblade.common.node.TreeStringNode;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.house.vo.HouseTree;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -13,12 +18,12 @@
public class NodeTreeUtil {
   /**
    * 警员map 转 tree 组织机构
    * 树转换
    * @param treeMap
    * @return
    */
   public static List<TreeNode> getNodeTree(Map<String, TreeNode> treeMap){
      List<TreeNode> tree = new ArrayList<>();
   public static List<TreeIntegerNode> getNodeTree(Map<Integer, TreeIntegerNode> treeMap){
      List<TreeIntegerNode> tree = new ArrayList<>();
      if (treeMap.size() > 1) {
         treeMap.forEach((id, treeNode) -> {
            if (treeMap.containsKey(treeNode.getParentId())) {
@@ -30,4 +35,86 @@
      }
      return tree;
   }
   /**
    * 树转换
    * @param treeMap
    * @return
    */
   public static List<TreeLongNode> getLongNodeTree(Map<Long, TreeLongNode> treeMap){
      List<TreeLongNode> tree = new ArrayList<>();
      if (treeMap.size() > 1) {
         treeMap.forEach((id, treeNode) -> {
            if (treeMap.containsKey(treeNode.getParentId())) {
               treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
            } else {
               tree.add(treeNode);
            }
         });
      }
      return tree;
   }
   /**
    * 树转换
    * @param treeMap
    * @return
    */
   public static List<TreeStringNode> getStringNodeTree(Map<String, TreeStringNode> treeMap){
      List<TreeStringNode> tree = new ArrayList<>();
      if (treeMap.size() > 0) {
         if (treeMap.size()==1){
            treeMap.forEach((id, treeNode) -> {
               tree.add(treeNode);
            });
         }else {
            treeMap.forEach((id, treeNode) -> {
               if (treeMap.containsKey(treeNode.getParentId())) {
                  treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
               } else {
                  tree.add(treeNode);
               }
            });
         }
      }
      return tree;
   }
   /**
    * 树转换
    * @param treeMap
    * @return
    */
   public static List<DoorplateAddressVOTree> getAddressNodeTree(Map<String, DoorplateAddressVOTree> treeMap){
      List<DoorplateAddressVOTree> tree = new ArrayList<>();
      if (treeMap.size() > 1) {
         treeMap.forEach((code, treeNode) -> {
            if (treeMap.containsKey(treeNode.getParentCode())) {
               treeMap.get(treeNode.getParentCode()).getChildren().add(treeNode);
            } else {
               tree.add(treeNode);
            }
         });
      }
      return tree;
   }
   /**
    * 树转换
    * @param treeMap
    * @return
    */
   public static List<HouseTree> getHouseTree(Map<String, HouseTree> treeMap){
      List<HouseTree> tree = new ArrayList<>();
      if (treeMap.size() > 1) {
         treeMap.forEach((code, treeNode) -> {
            if (treeMap.containsKey(treeNode.getParentCode())) {
               treeMap.get(treeNode.getParentCode()).getChildren().add(treeNode);
            } else {
               tree.add(treeNode);
            }
         });
      }
      return tree;
   }
}