feat(复习):标准思维导图生成与回忆对比
- 新增 review_standard_mind_maps / review_recall_records 数据表 - BuiltinMindMapGenerator:从报告/残片/应用场景规则生成标准导图 - MindMapAiClient 接口 + RemoteAiMindMapClient 预留 - StandardMindMapService:生成/编辑/重新生成/回忆对比 - 对比算法:标题归一化 + Bigram Jaccard 模糊匹配 - ReviewController 新增 6 个端点 - MindMapTreeTool / MindMapNode / CompareResult 工具类 - 完整单元测试(10 个,全部通过) - 更新 docs/review-module-design.md
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
package com.guo.learningprogresstracker.service;
|
||||
|
||||
import com.guo.learningprogresstracker.entity.ReviewRecallRecordEntity;
|
||||
import com.guo.learningprogresstracker.entity.ReviewStandardMindMapEntity;
|
||||
import com.guo.learningprogresstracker.exception.NotFindEntitiesException;
|
||||
import com.guo.learningprogresstracker.exception.OperationFailedException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标准思维导图服务。
|
||||
* <p>负责标准导图的按需生成、查询、用户编辑,以及用户回忆导图的对比。</p>
|
||||
*/
|
||||
public interface StandardMindMapService {
|
||||
|
||||
/**
|
||||
* 获取指定任务的标准思维导图,不存在时自动生成。
|
||||
*/
|
||||
ReviewStandardMindMapEntity getOrGenerate(String taskNum) throws NotFindEntitiesException, OperationFailedException;
|
||||
|
||||
/**
|
||||
* 强制重新生成指定任务的标准思维导图。
|
||||
*/
|
||||
ReviewStandardMindMapEntity regenerate(String taskNum) throws NotFindEntitiesException, OperationFailedException;
|
||||
|
||||
/**
|
||||
* 用户手动编辑标准思维导图(用缩进大纲文本替换)。
|
||||
*/
|
||||
ReviewStandardMindMapEntity updateByOutline(String taskNum, String outline) throws NotFindEntitiesException;
|
||||
|
||||
/**
|
||||
* 用户提交回忆大纲,与标准导图对比并返回结果。
|
||||
*
|
||||
* @param recallOutline 用户回忆的缩进大纲文本
|
||||
* @return 对比记录实体(compareResult 字段包含对比树 JSON)
|
||||
*/
|
||||
ReviewStandardMindMapEntity recallCompare(String taskNum, String recallOutline) throws NotFindEntitiesException, OperationFailedException;
|
||||
|
||||
/**
|
||||
* 获取该任务的所有回忆对比记录。
|
||||
*/
|
||||
List<ReviewRecallRecordEntity> listRecallRecords(String taskNum) throws NotFindEntitiesException;
|
||||
|
||||
/**
|
||||
* 获取单条对比记录详情。
|
||||
*/
|
||||
ReviewRecallRecordEntity getRecallRecord(Integer recordId) throws NotFindEntitiesException;
|
||||
}
|
||||
Reference in New Issue
Block a user