From aa5bcb4db5916490f174d5fbd7aa75130ff4256f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 02 三月 2021 14:57:28 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/controller/NodeController.java |   75 +++++++++++++++++++++++++++++++++++--
 1 files changed, 71 insertions(+), 4 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/NodeController.java b/src/main/java/zy/cloud/wms/manager/controller/NodeController.java
index df36c99..c2ed398 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/NodeController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/NodeController.java
@@ -12,20 +12,23 @@
 import com.core.common.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import zy.cloud.wms.common.utils.ListUtils;
+import zy.cloud.wms.common.utils.TreeUtils;
 import zy.cloud.wms.common.web.BaseController;
 import zy.cloud.wms.manager.entity.Node;
 import zy.cloud.wms.manager.service.NodeService;
+import zy.cloud.wms.manager.utils.NodeUtils;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.io.IOException;
+import java.util.*;
 
 @RestController
 public class NodeController extends BaseController {
 
     @Autowired
     private NodeService nodeService;
+    @Autowired
+    private TreeUtils treeUtils;
 
     @RequestMapping(value = "/node/{id}/auth")
     @ManagerAuth
@@ -63,6 +66,26 @@
     @RequestMapping(value = "/node/add/auth")
     @ManagerAuth
     public R add(Node node) {
+        if (node.getType() != 1) {
+            Node parentNode = nodeService.selectById(node.getParentId());
+            if (parentNode == null || parentNode.getStatus() == 0) {
+                return R.error(node.getType()==2?"鎵�灞炰粨搴撲笉瀛樺湪":"鎵�灞炲簱鍖轰笉瀛樺湪");
+            }
+            node.setParentName(parentNode.getName());
+            node.setLevel(parentNode.getLevel() + 1);
+        }
+        // path
+        NodeUtils nodeUtils = new NodeUtils();
+        nodeUtils.executePath(node);
+        node.setPath(nodeUtils.path.toString());
+        node.setNamePath(nodeUtils.pathName.toString());
+
+        node.setLevel(node.getType());
+        node.setCreateBy(getUserId());
+        node.setCreateTime(new Date());
+        node.setUpdateBy(getUserId());
+        node.setUpdateTime(new Date());
+        node.setStatus(1);
         nodeService.insert(node);
         return R.ok();
     }
@@ -73,6 +96,22 @@
         if (Cools.isEmpty(node) || null==node.getId()){
             return R.error();
         }
+        if (node.getType() != 1) {
+            Node parentNode = nodeService.selectById(node.getParentId());
+            if (parentNode == null || parentNode.getStatus() == 0) {
+                return R.error(node.getType()==2?"鎵�灞炰粨搴撲笉瀛樺湪":"鎵�灞炲簱鍖轰笉瀛樺湪");
+            }
+            node.setParentName(parentNode.getName());
+            node.setLevel(parentNode.getLevel() + 1);
+        }
+        // path
+        NodeUtils nodeUtils = new NodeUtils();
+        nodeUtils.executePath(node);
+        node.setPath(nodeUtils.path.toString());
+        node.setNamePath(nodeUtils.pathName.toString());
+
+        node.setUpdateBy(getUserId());
+        node.setUpdateTime(new Date());
         nodeService.updateById(node);
         return R.ok();
     }
@@ -127,4 +166,32 @@
         return R.ok();
     }
 
+    @PostMapping(value = "/parent/node/group")
+    public R getParentNodeGroup(@RequestParam(required = false) String condition,
+                                @RequestParam Integer type) {
+        List<Node> nodes = nodeService.selectList(new EntityWrapper<Node>().eq("type", type).eq("status", 1));
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (Node node : nodes) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("key", node.getId());
+            map.put("val", node.getName());
+            result.add(map);
+        }
+        return R.ok().add(result);
+    }
+
+    @PostMapping(value = "/node/tree/auth")
+    @ManagerAuth
+    public R tree(@RequestParam(required = false, defaultValue = "") String condition) throws IOException, ClassNotFoundException {
+        ArrayList<Map> tree = treeUtils.getNodeTree(String.valueOf(getOriginNode().getId()));
+        // 娣辨嫹璐�
+        List<Map> result = ListUtils.deepCopy(tree);
+        if (!Cools.isEmpty(condition)) {
+            treeUtils.remove(condition, result);
+            treeUtils.remove(condition, result);
+        }
+        return R.ok(result);
+    }
+
+
 }

--
Gitblit v1.9.1