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
@@ -18,9 +18,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.guo.learningprogresstracker.dto.response.SessionBriefVO;
import java.util.ArrayList;
import java.util.List;
import java.time.LocalDateTime;
/**
@@ -139,10 +137,4 @@ public class StudySessionController {
@RequestParam(required = false) String excludeTaskNum) {
return CommonResult.success(studySessionsServiceImpl.getActiveSession(excludeTaskNum));
}
/** 获取任务的所有会话简要列表(用于复习维度选择) */
@GetMapping("/tasks/{taskNum}/sessions")
public CommonResult<List<SessionBriefVO>> getTaskSessions(@PathVariable String taskNum) {
return CommonResult.success(studySessionsServiceImpl.getTaskSessions(taskNum));
}
}