|
|
|
package cn.teammodel.service;
|
|
|
|
|
|
|
|
import cn.teammodel.model.dto.DeleteNodeDto;
|
|
|
|
import cn.teammodel.model.dto.GetEvaluateTreeDto;
|
|
|
|
import cn.teammodel.model.dto.InsertNodeDto;
|
|
|
|
import cn.teammodel.model.dto.UpdateNodeDto;
|
|
|
|
import cn.teammodel.model.entity.Evaluation;
|
|
|
|
import cn.teammodel.model.entity.EvaluationTreeNode;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author winter
|
|
|
|
* @create 2023-11-20 17:46
|
|
|
|
*/
|
|
|
|
public interface EvaluationService {
|
|
|
|
Evaluation getTree(GetEvaluateTreeDto getEvaluateTreeDto);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 递归构建树
|
|
|
|
*/
|
|
|
|
Evaluation buildTree(Evaluation evaluation);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 递归扁平化树
|
|
|
|
* @param trees: 树的列表
|
|
|
|
* @param nodes: 扁平化后的节点列表
|
|
|
|
* @return: void
|
|
|
|
* @author: winter
|
|
|
|
* @date: 2023/11/21 16:40
|
|
|
|
* @description:
|
|
|
|
*/
|
|
|
|
void flattenTree(List<EvaluationTreeNode> trees, List<EvaluationTreeNode> nodes);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 新增评价树节点
|
|
|
|
*/
|
|
|
|
Evaluation insertNode(InsertNodeDto insertNodeDto);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 更新评价树节点
|
|
|
|
*/
|
|
|
|
Evaluation updateNode(UpdateNodeDto updateNodeDto);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 删除评价树节点,同时删除其子节点
|
|
|
|
*/
|
|
|
|
Evaluation deleteNode(DeleteNodeDto deleteNodeDto);
|
|
|
|
}
|