Quellcode durchsuchen

feat: create node from parentId

woooodyy vor 5 Jahren
Ursprung
Commit
9439752405

+ 4 - 4
web/pom.xml

@@ -80,10 +80,10 @@
             <artifactId>mybatis-spring-boot-starter-test</artifactId>
             <version>2.1.4</version>
         </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.boot</groupId>-->
+<!--            <artifactId>spring-boot-starter-security</artifactId>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>

+ 9 - 2
web/src/main/java/seecoder/devcloud/web/controller/tree/TreeNodesController.java

@@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.*;
 import seecoder.devcloud.web.po.TreeNodePO;
 import seecoder.devcloud.web.service.tree.TreeNodeService;
 import seecoder.devcloud.web.vo.Response;
+import seecoder.devcloud.web.vo.TreeNodeVO;
 
 import java.util.List;
 
@@ -38,12 +39,18 @@ public class TreeNodesController {
 
 
     @PostMapping("/node")
-    public Response insertTreeNode(){
-        return null;
+    public Response insertTreeNode(TreeNodeVO treeNodeVO){
+        return treeNodeService.insertTreeNode(treeNodeVO);
     }
 
     @DeleteMapping("/node/{nodeId}")
     public Response deleteTreeNode(@PathVariable("nodeId") int nodeId) {
         return Response.ok(treeNodeService.deleteTreeNode(nodeId));
     }
+
+    @PostMapping("/subNode/{fatherId}")
+    public Response insertTreeNodeByFatherNode(@PathVariable("fatherId") int fatherId){
+        Response res = treeNodeService.insertTreeNodeByFatherNode(fatherId);
+        return res;
+    }
 }

+ 6 - 6
web/src/main/java/seecoder/devcloud/web/po/TreeNodePO.java

@@ -17,12 +17,12 @@ import java.util.Date;
 @EqualsAndHashCode
 public class TreeNodePO {
     private int id;
-    private String title;
-    private String description;
-    private NodeTypeEnum type;
-    private int priority;
-    private NodeStateEnum state;
-    private int timeToTake;
+    private String title = "title";
+    private String description = "description";
+    private NodeTypeEnum type = NodeTypeEnum.TASK;
+    private int priority = 3;
+    private NodeStateEnum state = NodeStateEnum.PROCESSING;
+    private int timeToTake = 10;
     private String startTime;
     private String endTime;
     private boolean leaf;

+ 36 - 0
web/src/main/java/seecoder/devcloud/web/service/impl/tree/TreeNodeServiceImpl.java

@@ -4,12 +4,17 @@ package seecoder.devcloud.web.service.impl.tree;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import seecoder.devcloud.web.enums.NodeStateEnum;
+import seecoder.devcloud.web.enums.NodeTypeEnum;
 import seecoder.devcloud.web.po.TreeNodePO;
 import seecoder.devcloud.web.service.tree.TreeNodeService;
+import seecoder.devcloud.web.utils.TimeUtils;
 import seecoder.devcloud.web.vo.Response;
 import seecoder.devcloud.web.vo.TreeNodeVO;
 import seecoder.devcloud.web.dao.tree.TreeNodeMapper;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 @Service
@@ -56,4 +61,35 @@ public class TreeNodeServiceImpl implements TreeNodeService {
         return Response.ok();
     }
 
+    /**
+     * 根据父节点id插入一个新的子节点
+     * @param fatherId
+     * @return
+     */
+    @Override
+    public Response insertTreeNodeByFatherNode(int fatherId) {
+        SimpleDateFormat format = TimeUtils.getSimpleDateFormat();
+
+        TreeNodePO treeNodePO = new TreeNodePO();
+        treeNodePO.setParentId(fatherId);
+        treeNodePO.setTitle("title");
+        treeNodePO.setDescription("description");
+        treeNodePO.setType(NodeTypeEnum.TASK);
+        treeNodePO.setPriority(3);
+        treeNodePO.setState(NodeStateEnum.PROCESSING);
+        treeNodePO.setTimeToTake(10);
+        treeNodePO.setStartTime(format.format(new Date()));
+        treeNodePO.setEndTime(format.format(new Date()));
+        treeNodePO.setLeaf(true);
+        treeNodePO.setGroupId(-1);
+        treeNodePO.setProjectId(-1);
+        treeNodePO.setDeep(-1);
+        int res = treeNodeMapper.insertTreeNode(treeNodePO);
+        // TODO:safety check
+        if (res <= 0) {
+            return Response.serverInternalError("Insert failed!");
+        }
+        return Response.ok(treeNodePO.getId());
+    }
+
 }

+ 7 - 0
web/src/main/java/seecoder/devcloud/web/service/tree/TreeNodeService.java

@@ -39,4 +39,11 @@ public interface TreeNodeService {
      * @return
      */
     Response deleteTreeNode(int nodeId);
+
+    /**
+     * 根据父节点创建子节点
+     * @param fatherId
+     * @return
+     */
+    public Response insertTreeNodeByFatherNode(int fatherId);
 }

+ 15 - 0
web/src/main/java/seecoder/devcloud/web/utils/TimeUtils.java

@@ -0,0 +1,15 @@
+package seecoder.devcloud.web.utils;
+
+import java.text.SimpleDateFormat;
+
+/**
+ * @program: parent
+ * @description: 时间工具
+ * @author: xzh
+ * @date: 2021-03-10
+ **/
+public class TimeUtils {
+    public static SimpleDateFormat getSimpleDateFormat(){
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+    }
+}

+ 1 - 1
web/src/main/resources/application.yml

@@ -1,3 +1,3 @@
 spring:
   profiles:
-    active: cyz
+    active: xzh