|
@@ -1,5 +1,7 @@
|
|
|
package cn.seecoder.web.service.impl.tree;
|
|
package cn.seecoder.web.service.impl.tree;
|
|
|
|
|
|
|
|
|
|
+import cn.seecoder.common.util.LogTrackingUtil;
|
|
|
|
|
+import cn.seecoder.common.util.OpType;
|
|
|
import cn.seecoder.web.dao.project.CommitMapper;
|
|
import cn.seecoder.web.dao.project.CommitMapper;
|
|
|
import cn.seecoder.web.dao.tree.TreeNodeMapper;
|
|
import cn.seecoder.web.dao.tree.TreeNodeMapper;
|
|
|
import cn.seecoder.web.dao.user.UserMapper;
|
|
import cn.seecoder.web.dao.user.UserMapper;
|
|
@@ -12,6 +14,7 @@ import cn.seecoder.web.model.vo.tree.TreeNodeUpdateBasicVO;
|
|
|
import cn.seecoder.web.model.vo.tree.TreeNodeVO;
|
|
import cn.seecoder.web.model.vo.tree.TreeNodeVO;
|
|
|
import cn.seecoder.web.service.tree.TreeNodeService;
|
|
import cn.seecoder.web.service.tree.TreeNodeService;
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import org.apache.http.HttpStatus;
|
|
import org.apache.http.HttpStatus;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -88,6 +91,22 @@ public class TreeNodeServiceImpl implements TreeNodeService {
|
|
|
throw new ServiceException(503,"插入需求节点失败");
|
|
throw new ServiceException(503,"插入需求节点失败");
|
|
|
}
|
|
}
|
|
|
//ANA 日志需要打出创建需求节点的信息
|
|
//ANA 日志需要打出创建需求节点的信息
|
|
|
|
|
+ try{
|
|
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
|
|
+ object.put("node_id",res);
|
|
|
|
|
+ object.put("title",treeNodePO.getTitle());
|
|
|
|
|
+ object.put("project_id",treeNodePO.getProjectId());
|
|
|
|
|
+ object.put("user_id",treeNodePO.getProcessorId());
|
|
|
|
|
+ object.put("type",treeNodePO.getType());
|
|
|
|
|
+ object.put("priority",treeNodePO.getPriority());
|
|
|
|
|
+ object.put("state",treeNodePO.getState());
|
|
|
|
|
+ object.put("timeToTake",treeNodePO.getTimeToTake());
|
|
|
|
|
+ object.put("parent_id",treeNodePO.getParentId());
|
|
|
|
|
+ object.put("deep",treeNodePO.getDeep());
|
|
|
|
|
+
|
|
|
|
|
+ String data = JSONObject.toJSONString(object);
|
|
|
|
|
+ LogTrackingUtil.log(data, OpType.MODYFY_REQUIREMENT_TREENODE);
|
|
|
|
|
+ }catch (Exception e){}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -103,18 +122,37 @@ public class TreeNodeServiceImpl implements TreeNodeService {
|
|
|
}
|
|
}
|
|
|
treeNodeMapper.update(treeNodePO);
|
|
treeNodeMapper.update(treeNodePO);
|
|
|
//ANA 日志需要打出更新需求节点的信息
|
|
//ANA 日志需要打出更新需求节点的信息
|
|
|
|
|
+ try{
|
|
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
|
|
+ object.put("node_id",treeNodePO.getId());
|
|
|
|
|
+ object.put("title",treeNodePO.getTitle());
|
|
|
|
|
+ object.put("project_id",treeNodePO.getProjectId());
|
|
|
|
|
+ object.put("user_id",treeNodePO.getProcessorId());
|
|
|
|
|
+ object.put("type",treeNodePO.getType());
|
|
|
|
|
+ object.put("priority",treeNodePO.getPriority());
|
|
|
|
|
+ object.put("state",treeNodePO.getState());
|
|
|
|
|
+ object.put("timeToTake",treeNodePO.getTimeToTake());
|
|
|
|
|
+ object.put("parent_id",treeNodePO.getParentId());
|
|
|
|
|
+ object.put("deep",treeNodePO.getDeep());
|
|
|
|
|
+
|
|
|
|
|
+ String data = JSONObject.toJSONString(object);
|
|
|
|
|
+ LogTrackingUtil.log(data, OpType.MODYFY_REQUIREMENT_TREENODE);
|
|
|
|
|
+ }catch (Exception e){}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public void deleteTreeNode(int nodeId) throws ServiceException {
|
|
public void deleteTreeNode(int nodeId) throws ServiceException {
|
|
|
TreeNodePO po = treeNodeMapper.getTreeNodeById(nodeId);
|
|
TreeNodePO po = treeNodeMapper.getTreeNodeById(nodeId);
|
|
|
|
|
+ List<Integer> nodes = new ArrayList<>();
|
|
|
|
|
+ nodes.add(nodeId);
|
|
|
if (po != null && po.getParentId()!=null){
|
|
if (po != null && po.getParentId()!=null){
|
|
|
Stack<TreeNodePO> trees = new Stack<TreeNodePO>();
|
|
Stack<TreeNodePO> trees = new Stack<TreeNodePO>();
|
|
|
trees.push(po);
|
|
trees.push(po);
|
|
|
//递归删除
|
|
//递归删除
|
|
|
while (trees.size()!=0){
|
|
while (trees.size()!=0){
|
|
|
TreeNodePO toDelete = trees.pop();
|
|
TreeNodePO toDelete = trees.pop();
|
|
|
|
|
+ nodes.add(toDelete.getId());
|
|
|
treeNodeMapper.deleteTreeNode(toDelete.getId());
|
|
treeNodeMapper.deleteTreeNode(toDelete.getId());
|
|
|
List<TreeNodePO> childs = treeNodeMapper.getTreeNodesByParentId(toDelete.getId());
|
|
List<TreeNodePO> childs = treeNodeMapper.getTreeNodesByParentId(toDelete.getId());
|
|
|
for (TreeNodePO child : childs){
|
|
for (TreeNodePO child : childs){
|
|
@@ -125,6 +163,13 @@ public class TreeNodeServiceImpl implements TreeNodeService {
|
|
|
throw new ServiceException(HttpStatus.SC_SERVICE_UNAVAILABLE, "根节点不可以被删除");
|
|
throw new ServiceException(HttpStatus.SC_SERVICE_UNAVAILABLE, "根节点不可以被删除");
|
|
|
}
|
|
}
|
|
|
//ANA 日志需要打出删除需求节点的信息
|
|
//ANA 日志需要打出删除需求节点的信息
|
|
|
|
|
+ try{
|
|
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
|
|
+ object.put("node_ids",nodes);
|
|
|
|
|
+
|
|
|
|
|
+ String data = JSONObject.toJSONString(object);
|
|
|
|
|
+ LogTrackingUtil.log(data,OpType.DELETE_REQUIREMENT_TREENODE);
|
|
|
|
|
+ }catch (Exception e){}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -167,8 +212,25 @@ public class TreeNodeServiceImpl implements TreeNodeService {
|
|
|
.priority(PriorityEnum.MIDDLE)
|
|
.priority(PriorityEnum.MIDDLE)
|
|
|
.timeToTake(0L)
|
|
.timeToTake(0L)
|
|
|
.build();
|
|
.build();
|
|
|
- treeNodeMapper.insertTreeNode(son);
|
|
|
|
|
|
|
+ Integer res = treeNodeMapper.insertTreeNode(son);
|
|
|
//ANA 日志需要打出创建需求节点的信息
|
|
//ANA 日志需要打出创建需求节点的信息
|
|
|
|
|
+
|
|
|
|
|
+ try{
|
|
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
|
|
+ object.put("node_id",res);
|
|
|
|
|
+ object.put("title",son.getTitle());
|
|
|
|
|
+ object.put("project_id",son.getProjectId());
|
|
|
|
|
+ object.put("user_id",son.getProcessorId());
|
|
|
|
|
+ object.put("type",son.getType());
|
|
|
|
|
+ object.put("priority",son.getPriority());
|
|
|
|
|
+ object.put("state",son.getState());
|
|
|
|
|
+ object.put("timeToTake",son.getTimeToTake());
|
|
|
|
|
+ object.put("parent_id",son.getParentId());
|
|
|
|
|
+ object.put("deep",son.getDeep());
|
|
|
|
|
+
|
|
|
|
|
+ String data = JSONObject.toJSONString(object);
|
|
|
|
|
+ LogTrackingUtil.log(data, OpType.MODYFY_REQUIREMENT_TREENODE);
|
|
|
|
|
+ }catch (Exception e){}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|