feat(复习): 节点级 focusPath + findNode,回退 session 维度
- 移除 MindMapNode.sessionNum、filterBySession、getTaskSessions
- 新增 MindMapTreeTool.extractSubtree() 按路径提取子树作为对比基准
- 新增 findClosestNode/getPath/similarityScore 支持节点匹配
- 新增 POST /review/standard-mind-map/{taskNum}/find-node
- recallCompare 使用 focusPath 替代 sessionNum
- ReviewRecallRecordEntity.focusPath 替代 sessionNum
- Flyway V20260706_1: review_recall_records 加 focus_path 列
This commit is contained in:
@@ -35,8 +35,6 @@ public class MindMapNode {
|
||||
private String notes;
|
||||
private String sourceType;
|
||||
private Integer sourceId;
|
||||
/** 可选:节点来源会话编码(REPORT/FRAGMENT 节点使用) */
|
||||
private String sessionNum;
|
||||
private List<MindMapNode> children;
|
||||
|
||||
public MindMapNode(String title) {
|
||||
@@ -53,7 +51,6 @@ public class MindMapNode {
|
||||
map.put("notes", notes != null ? notes : "");
|
||||
if (sourceType != null) map.put("sourceType", sourceType);
|
||||
if (sourceId != null) map.put("sourceId", sourceId);
|
||||
if (sessionNum != null) map.put("sessionNum", sessionNum);
|
||||
List<Object> childMaps = new ArrayList<>();
|
||||
if (children != null) {
|
||||
for (MindMapNode c : children) {
|
||||
@@ -73,7 +70,6 @@ public class MindMapNode {
|
||||
if (map.containsKey("sourceId") && map.get("sourceId") != null) {
|
||||
node.setSourceId(((Number) map.get("sourceId")).intValue());
|
||||
}
|
||||
node.setSessionNum((String) map.get("sessionNum"));
|
||||
Object raw = map.getOrDefault("children", map.get("nodes"));
|
||||
List<MindMapNode> children = new ArrayList<>();
|
||||
if (raw instanceof List<?> list) {
|
||||
|
||||
Reference in New Issue
Block a user