From 7d7090b098add475808ffdebebff8b4e2a3b98ff Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期六, 06 八月 2022 12:58:12 +0800
Subject: [PATCH] Merge branch 'hylyasrs' of http://47.97.1.152:5880/r/zy-asrs into hylyasrs

---
 src/main/java/com/zy/common/utils/TreeUtils.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/TreeUtils.java b/src/main/java/com/zy/common/utils/TreeUtils.java
index 271ee28..e18416c 100644
--- a/src/main/java/com/zy/common/utils/TreeUtils.java
+++ b/src/main/java/com/zy/common/utils/TreeUtils.java
@@ -1,7 +1,10 @@
 package com.zy.common.utils;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.zy.asrs.entity.Node;
 import com.zy.asrs.entity.Tag;
+import com.zy.asrs.service.NodeService;
 import com.zy.asrs.service.TagService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.Cacheable;
@@ -18,6 +21,8 @@
 
     @Autowired
     private TagService tagService;
+    @Autowired
+    private NodeService nodeService;
 
     /******************************** 褰掔被鏍� *********************************/
 
@@ -85,5 +90,53 @@
             }
         }
     }
+    /******************************** 鑺傜偣鏍� *********************************/
+
+    /**
+     * 鑾峰彇鏍戝浘鏁版嵁缁撴瀯
+     */
+    @Cacheable(cacheNames="nodeTree",key="#id")
+    public ArrayList<Map> getNodeTree(String id, Long hostId){
+        ArrayList<Map> result = new ArrayList<>();
+        Node node = nodeService.selectById(id);
+        // 涓昏妭鐐�
+        Map<String, Object> map = new HashMap<>();
+        map.put("title", node.getName());
+        map.put("id", node.getId());
+        map.put("spread", true);
+        List<Map> childrens = new ArrayList<>();
+        map.put("children", childrens);
+        dealNode(node, childrens, hostId);
+        result.add(map);
+        // 寮�濮嬪鐞嗗瓧鑺傜偣
+//        deal(tag, childrens);
+        return result;
+    }
+
+    /**
+     * 閫掑綊鑾峰彇瀛愯妭鐐规暟鎹�
+     */
+    public void dealNode(Node parent, List<Map> list, Long hostId) {
+        Wrapper<Node> wrapper = new EntityWrapper<Node>()
+                .eq("parent_id", parent.getId())
+                .eq("status", "1");
+        if (hostId != null) {
+            wrapper.eq("host_id", hostId);
+        }
+        List<Node> nodes = nodeService.selectList(wrapper);
+        for (Node node : nodes) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("title", node.getName());
+            map.put("id", node.getId());
+            map.put("spread", true);
+            List<Map> childrens = new ArrayList<>();
+            map.put("children", childrens);
+            dealNode(node, childrens, hostId);
+            list.add(map);
+        }
+    }
+
+
+    // -------------------------------------------------------------------------------------------------------
 
 }

--
Gitblit v1.9.1