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:
@@ -50,4 +50,12 @@ management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info # 或 "*"
|
||||
include: health,info # 或 "*"
|
||||
|
||||
# 思维导图 AI 配置(可选,未配置时使用内置生成器)
|
||||
lpt:
|
||||
ai:
|
||||
endpoint:
|
||||
api-key:
|
||||
model: claude-fable-5
|
||||
timeout-seconds: 60
|
||||
@@ -0,0 +1,41 @@
|
||||
create table review_sessions
|
||||
(
|
||||
id int auto_increment comment 'id无业务含义'
|
||||
primary key,
|
||||
task_num varchar(255) not null comment '任务编码',
|
||||
target_title varchar(255) not null comment '本次复习的具体知识目标',
|
||||
recall_content text null comment '用户主动回忆内容',
|
||||
knowledge_network text null comment '用户重构出的体系化知识网络',
|
||||
reflection text null comment '复习后的反思与缺口',
|
||||
status varchar(30) not null default 'ONGOING' comment '状态:ONGOING/COMPLETED',
|
||||
started_time datetime not null comment '开始时间',
|
||||
completed_time datetime null comment '完成时间',
|
||||
created_time datetime not null comment '创建时间',
|
||||
created_by varchar(255) null,
|
||||
last_modified_time datetime null,
|
||||
last_modified_by varchar(255) null,
|
||||
device_info varchar(50) null comment '操作者设备类型',
|
||||
deleted int default 0 not null comment '逻辑删除符',
|
||||
index idx_review_sessions_task_num (task_num)
|
||||
)
|
||||
comment '复习模块:完整复习会话';
|
||||
|
||||
create table review_records
|
||||
(
|
||||
id int auto_increment comment 'id无业务含义'
|
||||
primary key,
|
||||
review_session_id int not null comment '复习会话ID',
|
||||
source_type varchar(30) not null comment '关联来源:REPORT/FRAGMENT',
|
||||
source_id int not null comment '来源ID',
|
||||
recall_level varchar(30) not null default 'UNCERTAIN' comment '回忆程度:REMEMBERED/UNCERTAIN/FORGOTTEN',
|
||||
note text null comment '对照后的说明',
|
||||
created_time datetime not null comment '创建时间',
|
||||
created_by varchar(255) null,
|
||||
last_modified_time datetime null,
|
||||
last_modified_by varchar(255) null,
|
||||
device_info varchar(50) null comment '操作者设备类型',
|
||||
deleted int default 0 not null comment '逻辑删除符',
|
||||
index idx_review_records_session_id (review_session_id),
|
||||
index idx_review_records_source (source_type, source_id)
|
||||
)
|
||||
comment '复习模块:完整复习完成后与学习报告/残片的对照关系';
|
||||
+1
@@ -0,0 +1 @@
|
||||
alter table review_applications rename to task_applications;
|
||||
@@ -0,0 +1,2 @@
|
||||
drop table if exists review_records;
|
||||
drop table if exists review_sessions;
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
create table review_standard_mind_maps
|
||||
(
|
||||
id int auto_increment comment 'id无业务含义'
|
||||
primary key,
|
||||
task_num varchar(255) not null comment '任务编码',
|
||||
title varchar(255) not null comment '标准思维导图标题',
|
||||
content mediumtext not null comment '标准导图统一树结构JSON',
|
||||
outline mediumtext null comment '标准导图缩进大纲文本(用于展示与编辑)',
|
||||
summary text null comment '生成摘要',
|
||||
generator varchar(30) not null default 'BUILTIN' comment '生成来源:BUILTIN/AI/USER',
|
||||
generator_version varchar(64) null comment '生成器版本或AI模型名',
|
||||
source_report_count int default 0 not null comment '生成时参考的学习报告数',
|
||||
source_fragment_count int default 0 not null comment '生成时参考的学习残片数',
|
||||
generated_time datetime null comment '最近生成时间',
|
||||
created_time datetime not null comment '创建时间',
|
||||
created_by varchar(255) null,
|
||||
last_modified_time datetime null,
|
||||
last_modified_by varchar(255) null,
|
||||
device_info varchar(50) null comment '操作者设备类型',
|
||||
deleted int default 0 not null comment '逻辑删除符',
|
||||
unique key uk_review_standard_mind_maps_task_num (task_num)
|
||||
)
|
||||
comment '复习模块:任务标准思维导图(由内置规则或AI从学习报告/残片生成,用户可修改)';
|
||||
|
||||
create table review_recall_records
|
||||
(
|
||||
id int auto_increment comment 'id无业务含义'
|
||||
primary key,
|
||||
task_num varchar(255) not null comment '任务编码',
|
||||
standard_map_id int null comment '对比时使用的标准导图ID',
|
||||
recall_content mediumtext not null comment '用户回忆绘制的导图大纲文本',
|
||||
compare_result mediumtext null comment '与标准导图的结构对比结果JSON',
|
||||
recall_ratio double null comment '回忆覆盖率(0-1)',
|
||||
matched_count int default 0 not null comment '回忆命中的节点数',
|
||||
missed_count int default 0 not null comment '遗漏的节点数',
|
||||
extra_count int default 0 not null comment '标准导图之外的新增节点数',
|
||||
created_time datetime not null comment '创建时间',
|
||||
created_by varchar(255) null,
|
||||
last_modified_time datetime null,
|
||||
last_modified_by varchar(255) null,
|
||||
device_info varchar(50) null comment '操作者设备类型',
|
||||
deleted int default 0 not null comment '逻辑删除符',
|
||||
index idx_review_recall_records_task_num (task_num)
|
||||
)
|
||||
comment '复习模块:复习回忆与标准导图的对比记录';
|
||||
Reference in New Issue
Block a user