dcs 1 周之前
父节点
当前提交
11e3ad56c3

+ 53 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/workark/controller/TreeDataController.java

@@ -0,0 +1,53 @@
+package com.bosshand.virgo.api.workark.controller;
+
+import com.bosshand.virgo.api.workark.model.TreeData;
+import com.bosshand.virgo.api.workark.service.TreeDataService;
+import com.bosshand.virgo.core.response.Response;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping({"treeData"})
+@Api(tags = {"treeData"})
+public class TreeDataController {
+
+    @Autowired
+    TreeDataService treeDataService;
+
+    @ApiOperation("保存")
+    @RequestMapping(value = "", method = RequestMethod.POST)
+    public Response insert(@RequestBody TreeData treeData) {
+        treeDataService.save(treeData);
+        return Response.ok();
+    }
+
+    @ApiOperation("更新")
+    @RequestMapping(value = "", method = RequestMethod.PUT)
+    public Response update(@RequestBody TreeData treeData) {
+        treeDataService.update(treeData);
+        return Response.ok();
+    }
+
+    @ApiOperation("详情")
+    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
+    public Response get(@PathVariable long id) {
+        return Response.ok(treeDataService.get(id));
+    }
+
+    @ApiOperation("删除")
+    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
+    public Response delete(@PathVariable long id) {
+        treeDataService.delete(id);
+        return Response.ok();
+    }
+
+    @ApiOperation("查询列表")
+    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    public Response getList() {
+        return Response.ok(treeDataService.getList());
+    }
+
+
+}

+ 19 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/workark/dao/TreeDataDao.java

@@ -0,0 +1,19 @@
+package com.bosshand.virgo.api.workark.dao;
+
+import com.bosshand.virgo.api.workark.model.TreeData;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface TreeDataDao {
+
+    List<TreeData> list(int type);
+    List<TreeData> getParentId(long parentId);
+    TreeData get(long id);
+    int save(TreeData treeData);
+    int delete(long id);
+    int update(TreeData fileNode);
+
+
+}

+ 70 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/workark/model/TreeData.java

@@ -0,0 +1,70 @@
+package com.bosshand.virgo.api.workark.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * tree
+ */
+public class TreeData {
+
+    private long id;
+
+    private long parentId;
+
+    private String name;
+
+    private String sign;
+
+    private Integer type;
+
+    private List<TreeData> children = new ArrayList<TreeData>();
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(long parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getSign() {
+        return sign;
+    }
+
+    public void setSign(String sign) {
+        this.sign = sign;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public List<TreeData> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<TreeData> children) {
+        this.children = children;
+    }
+}

+ 53 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/workark/service/TreeDataService.java

@@ -0,0 +1,53 @@
+package com.bosshand.virgo.api.workark.service;
+
+import com.bosshand.virgo.api.workark.dao.TreeDataDao;
+import com.bosshand.virgo.api.workark.model.TreeData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class TreeDataService {
+
+    @Autowired
+    private TreeDataDao treeDataDao;
+
+    public int save(TreeData treeData) {
+        return treeDataDao.save(treeData);
+    }
+
+    public int update(TreeData treeData) {
+        return treeDataDao.update(treeData);
+    }
+
+    public void delete(long id) {
+        treeDataDao.delete(id);
+    }
+
+    public TreeData get(long id) {
+        TreeData treeData = treeDataDao.get(id);
+        List<TreeData> list = treeDataDao.list(treeData.getType());
+        treeData.setChildren( getChildren(list, id));
+        return treeData;
+    }
+
+    private List<TreeData> getChildren(List<TreeData> list, long parentId) {
+        List<TreeData> tree = new ArrayList<TreeData>();
+        for (TreeData treeData : list) {
+            if (treeData.getParentId() == parentId) {
+                tree.add(treeData);
+            }
+        }
+        for (TreeData data : tree) {
+            data.setChildren(getChildren(list, data.getId()));
+        }
+        return tree;
+    }
+
+    public List<TreeData> getList() {
+        return treeDataDao.getParentId(-1);
+    }
+
+}

+ 39 - 0
virgo.api/src/main/resources/mapper/TreeDataMapper.xml

@@ -0,0 +1,39 @@
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.bosshand.virgo.api.workark.dao.TreeDataDao">
+
+    <resultMap type="com.bosshand.virgo.api.workark.model.TreeData" id="result" >
+        <id column="id" property="id"/>
+        <id column="parentId" property="parentId"/>
+        <id column="name" property="name"/>
+        <id column="sign" property="sign"/>
+        <id column="type" property="type"/>
+    </resultMap>
+
+    <select id="get" resultMap="result">
+        select * from tree_data where id = #{id}
+    </select>
+
+    <select id="getParentId" resultMap="result">
+        select * from tree_data where parentId = #{parentId}
+    </select>
+
+    <select id="list" resultMap="result">
+        select * from tree_data where type = #{type}
+    </select>
+
+    <delete id="delete">
+        delete from tree_data where id = #{id}
+    </delete>
+
+    <insert id="save" parameterType="com.bosshand.virgo.api.workark.model.TreeData" useGeneratedKeys="true" keyProperty="id">
+        INSERT into tree_data(parentId,name,sign,type) values( #{parentId},#{name},#{sign},#{type})
+    </insert>
+
+    <update id="update" parameterType="com.bosshand.virgo.api.workark.model.TreeData">
+        update tree_data set name = #{name}, sign = #{sign} where id = #{id}
+    </update>
+
+</mapper>