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:
@@ -24,7 +24,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 复习模块控制层 — 复习内容滚动展示与交互
|
||||
@@ -159,7 +159,18 @@ public class ReviewController {
|
||||
public CommonResult<ReviewStandardMindMapEntity> recallCompare(
|
||||
@PathVariable String taskNum,
|
||||
@Valid @RequestBody RecallCompareRequest request) throws NotFindEntitiesException, OperationFailedException {
|
||||
return CommonResult.success(standardMindMapService.recallCompare(taskNum, request.getRecallOutline(), request.getSessionNum()));
|
||||
return CommonResult.success(standardMindMapService.recallCompare(taskNum, request.getRecallOutline(), request.getFocusPath()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 在标准导图中查找与给定内容最匹配的节点
|
||||
*/
|
||||
@PostMapping("/standard-mind-map/{taskNum}/find-node")
|
||||
public CommonResult<Map<String, Object>> findNode(
|
||||
@PathVariable String taskNum,
|
||||
@RequestBody Map<String, String> body) throws NotFindEntitiesException, OperationFailedException {
|
||||
String content = body != null ? body.getOrDefault("content", "") : "";
|
||||
return CommonResult.success(standardMindMapService.findNode(taskNum, content));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user