Browse Source

feat: tree modified

woooodyy 5 years ago
parent
commit
594b474399

+ 8 - 0
web/src/main/java/seecoder/devcloud/web/controller/tree/TreeNodesController.java

@@ -73,4 +73,12 @@ public class TreeNodesController {
         treeNodeService.updateTreeNode(treeNodeVO);
         return Response.buildSuccess();
     }
+
+    @ApiOperation(value = "根据项目id返回某个项目所有type为task的节点", httpMethod = "GET")
+    @GetMapping("/node/type/task/{projectId}")
+    @ApiImplicitParam(value = "prjectId",dataType = "int", paramType = "path")
+    public Response getNodesWithTaskTypeByProjectid(@PathVariable("prjectId") int prjectId){
+        List<TreeNodeVO> nodesWithTaskTypeByProjectid = treeNodeService.getNodesWithTaskTypeByProjectid(prjectId);
+        return Response.buildSuccess(nodesWithTaskTypeByProjectid);
+    }
 }

+ 3 - 0
web/src/main/java/seecoder/devcloud/web/dao/tree/TreeNodeMapper.java

@@ -80,6 +80,9 @@ public interface TreeNodeMapper {
     @Update("update tree_nodes set ")
     int updateTreeNodeById(@Param("nodeId") int nodeId);
 
+    @Select("select * from tree_nodes where project_id = #{projectId} and type = 'TASK' ")
+    List<TreeNodePO> getNodesWithTaskTypeByProjectid(@Param("projectId") int projectId);
+
 //    @Delete("delete from group_member where group_id = #{groupId} and user_id = #{userId}")
 //    int delete(@Param("groupId") int groupId,@Param("userId")  int userId);
 }

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

@@ -85,6 +85,12 @@ public class TreeNodeServiceImpl implements TreeNodeService {
         return treeNodePO.getId();
     }
 
+    @Override
+    public List<TreeNodeVO> getNodesWithTaskTypeByProjectid(int projectId) {
+        List<TreeNodePO> nodesPO = treeNodeMapper.getNodesWithTaskTypeByProjectid(projectId);
+        List<TreeNodeVO> nodesVO = nodesPO.stream().map(po -> new TreeNodeVO(po)).collect(Collectors.toList());
+        return nodesVO;
+    }
 
 
     /**

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

@@ -45,4 +45,5 @@ public interface TreeNodeService {
     Integer insertTreeNodeByFatherNode(int fatherId);
 
 
+    List<TreeNodeVO> getNodesWithTaskTypeByProjectid(int projectId);
 }

+ 8 - 0
web/src/test/java/seecoder/devcloud/web/dao/tree/TreeNodeMapperTest.java

@@ -68,4 +68,12 @@ public class TreeNodeMapperTest {
         assert node.equals(node1);
     }
 
+    @Test
+    public void getNodesWithTaskTypeByProjectidTest(){
+        List<TreeNodePO> res = treeNodeMapper.getNodesWithTaskTypeByProjectid(1);
+        int size = res.size();
+        System.out.println(size);
+        assert size == 1;
+    }
+
 }

+ 39 - 0
web/src/test/java/seecoder/devcloud/web/service/tree/TreeNodeServiceTest.java

@@ -0,0 +1,39 @@
+package seecoder.devcloud.web.service.tree;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+import seecoder.devcloud.web.model.po.tree.TreeNodePO;
+import seecoder.devcloud.web.model.vo.TreeNodeVO;
+import seecoder.devcloud.web.service.user.MailService;
+
+import java.util.List;
+
+/**
+ * @program: parent
+ * @description: 测试
+ * @author: xzh
+ * @date: 2021-03-16
+ **/
+@RunWith(SpringRunner.class)
+@SpringBootTest
+@ComponentScan({"seecoder.devcloud.api","seecoder.devcloud.common","seecoder.devcloud.web"})
+@MapperScan(basePackages = {"seecoder.devcloud.web.dao"})
+public class TreeNodeServiceTest {
+    @Autowired
+    TreeNodeService treeNodeService;
+
+    @Test
+    public void getNodesWithTaskTypeByProjectidTest(){
+        List<TreeNodeVO> res = treeNodeService.getNodesWithTaskTypeByProjectid(1);
+        int size = res.size();
+        System.out.println(size);
+        assert size == 1;
+    }
+
+}