模型预览功能优化

This commit is contained in:
LHD_HY 2025-12-30 18:32:17 +08:00
parent 68e3c988e3
commit 99b4c4336a
2 changed files with 8 additions and 3 deletions

View File

@ -27,6 +27,7 @@ public class ProjectVo {
private String nodeId;
private String modelUrl;
private Integer nodeCount;
private boolean isLeaf;
private List<ProjectVo> nodes;

View File

@ -45,11 +45,10 @@ public class ModelServiceImpl implements ModelService {
// 2. 创建全局节点映射id -> 节点
Map<String, ProjectVo> idToNodeMap = new HashMap<>();
// 第一遍遍历初始化项目和节点映射
// 第一遍遍历初始化项目和节点映射标记末级节点
for (ProjectVo vo : flatList) {
// 使用 nodeId 作为节点唯一标识因为前端数据中 nodeId id 相同
// 使用 nodeId 作为节点唯一标识
String nodeId = vo.getNodeId();
// 添加到全局映射
idToNodeMap.put(nodeId, vo);
@ -58,6 +57,11 @@ public class ModelServiceImpl implements ModelService {
vo.setNodes(new ArrayList<>());
}
// 标记末级节点nodelevel == nodeCount最后一层节点
boolean isLeaf = vo.getNodelevel() != null && vo.getNodeCount() != null
&& vo.getNodelevel().equals(vo.getNodeCount().toString());
vo.setLeaf(isLeaf); // 给ProjectVo添加isLeaf属性用于前端判断是否显示复选框
// 初始化项目节点
String projectId = vo.getProjectId();
if (!projectMap.containsKey(projectId)) {