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:
2026-07-05 18:12:32 +08:00
parent 3c3f682b2b
commit b18f8b4d1c
13 changed files with 197 additions and 129 deletions
@@ -12,6 +12,6 @@ public class RecallCompareRequest {
@NotBlank(message = "回忆大纲不可为空")
private String recallOutline;
/** 复习维度:会话编码null 为任务维度 */
private String sessionNum;
/** 复习起点节点路径(以 / 分隔)null 为任务维度 */
private String focusPath;
}
@@ -1,15 +0,0 @@
package com.guo.learningprogresstracker.dto.response;
import lombok.Data;
/**
* 会话简要信息(用于复习维度选择列表)
*/
@Data
public class SessionBriefVO {
private String sessionNum;
private String startTime;
private String expectation;
private int reportCount;
private int fragmentCount;
}