Commit Graph

84 Commits

Author SHA1 Message Date
cat-shark 7ac7868511 feat(复习):回忆对比优先走 AI 语义对比,失败时降级为内置算法
- CompareResult.java:新增 evaluation 字段(AI 对比时写入评价文本)
- AiServiceClient.java:新增 compareRecall(),调用 lpt-ai /ai/compare-recall
- StandardMindMapServiceImpl.java:recallCompare() 中注入 AiServiceClient,
  优先 try AI 语义对比,含层级上下文和同义表达识别;
  AI 不可用或失败时自动 fallback 到内置标题匹配算法
- StandardMindMapServiceImplTest.java:适配新增的 AiServiceClient 依赖
2026-07-04 15:47:24 +08:00
cat-shark cd5ee0b404 feat(思维导图):AI 生成接入 lpt-ai 服务
RemoteAiMindMapClient 原为 TODO 空桩,依赖 lpt.ai.endpoint/api-key
配置,从未生效。现改为依赖 AiServiceClient(lpt.ai-service.url),
调用 lpt-ai 的 /ai/generate-mind-map 接口获取 AI 大纲。

变更:
- AiServiceClient 新增 generateMindMap():调用 POST /ai/generate-mind-map
- RemoteAiMindMapClient 重写:注入 AiServiceClient,isAvailable()
  改为检查 AiServiceClient.isConfigured(),generate() 用 lpt-ai
  返回的大纲文本解析为 MindMapNode 树
- StandardMindMapServiceImpl.doGenerate():优先选 AI 客户端
  (非 BUILTIN),AI 失败时自动降级到内置规则引擎
- application.yml:移除不再使用的 lpt.ai.endpoint/api-key 配置
2026-07-04 11:14:27 +08:00
cat-shark 21c5b8f761 feat(报告):AI 聚合残片生成报告草稿
- AiServiceClient:调用 lpt-ai 独立服务,未配置/失败时返回 empty
- GET /study-sessions/{sessionNum}/report-draft:AI 聚合(含预期对比),降级为残片拼接
- 草稿仅作为编辑起点,最终报告仍由用户确认后保存
- application.yml 增加 lpt.ai-service.url 配置
2026-07-03 23:52:32 +08:00
cat-shark 3c4db2fead feat(复习):feed 智能模式——加权随机采样
- /review/feed?mode=smart:时间衰减 × 回忆掌握度加权采样
- 越久未见、回忆覆盖率越低的内容出现概率越高
- 保持随机性,符合复习模块偶遇式设计理念
- 概率性单元测试验证低掌握内容显著优先
2026-07-03 23:44:40 +08:00
cat-shark 7461b6b5ad feat(优先级):维度权重可配置并即时重算
- 新表 user_priority_weights(每用户一行,默认 0.35/0.25/0.20/0.10/0.10)
- PriorityWeightsService:读取/保存权重,权重和必须为 1,保存后重算全部任务
- TaskController:GET/PUT /tasks/priority-weights
- CalculatedPriorityTool 支持自定义权重
- 修复 updateTask 不重算优先级的问题
2026-07-03 23:41:50 +08:00
cat-shark b67cf238c2 feat(预期):学习预期后端闭环——实体/服务/端点
- 迁移:study_expectations.session_num 改为 varchar 对齐会话编码
- StudyExpectationsEntity / Mapper / Service:每会话一条预期,重复创建覆盖
- StudySessionController:PUT/GET /{sessionNum}/expectation
- 移除空的 studySessionList 占位方法
2026-07-03 23:38:52 +08:00
cat-shark 32b247526b 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
2026-07-03 08:53:51 +08:00
cat-shark 5f3f35c53b feat: parse uploaded review mind maps 2026-06-20 10:33:14 +08:00
cat-shark f170e85297 feat: complete review workflow support 2026-06-20 09:16:20 +08:00
cat-shark 81543969d8 feat: 新增复习任务统计接口 2026-06-18 00:07:43 +08:00
cat-shark 2cf3533141 feat: 登录密码改用 BCrypt 校验 2026-06-18 00:06:42 +08:00
cat-shark a64daacc71 feat: 结束会话时返回有效时间不足的提示信息
- StudySessionsServiceImpl: 检测 effectiveTime 被清零时返回提示消息
- StudySessionController: 将提示消息通过 CommonResult.success(message) 传给前端
2026-05-30 17:36:56 +08:00
cat-shark 591dc89e53 feat: 有效学习时间不足10分钟不计入总学习时间
- StudySessionsEntity: 新增 MIN_EFFECTIVE_TIME_SECONDS 常量,
  endedStudySession() 中检查 effectiveTime,不足则清零
- StudySessionsService: endedStudySession 返回类型从 void 改为 String
2026-05-30 17:36:50 +08:00
cat-shark d5835cdf55 feat: 新增碎片更新和会话查询的Controller端点
- PUT /report-fragments/{id} 更新碎片内容
- GET /report-fragments/session/{sessionNum} 获取指定会话的完整碎片列表
2026-05-30 15:50:40 +08:00
cat-shark 487b38e8b0 feat: 新增碎片更新和会话查询的Service实现
- StudyReportFragmentsService 接口新增 updateFragments 和 getFragmentsBySession 方法
- ServiceImpl 实现碎片更新(校验存在性后更新)和按会话编号查询碎片列表
2026-05-30 15:50:34 +08:00
cat-shark e1cd5d5b82 feat: 新增碎片更新请求DTO和MapStruct映射
- 新建 UpdateFragmentsRequest,包含 @NotBlank 校验的 content 字段
- FragmentsConvert 新增 UpdateFragmentsRequest 到 Entity 的映射方法
2026-05-30 15:50:28 +08:00
cat-shark a92465dfc0 chore: 清理冗余注释,保留字段/业务含义注释 2026-05-27 23:03:43 +08:00
cat-shark 1fc41f1443 feat: 添加 MyBatis-Plus 多租户配置,自动注入行级数据隔离 2026-05-27 21:24:15 +08:00
cat-shark 24d871b430 refactor: 优化其他 Service 实现和 Controller 代码 2026-05-27 21:23:50 +08:00
cat-shark 950c91791f refactor: ReviewServiceImpl 改用 MyBatis-Plus Java API 实现复盘功能 2026-05-27 21:23:44 +08:00
cat-shark f797a712db refactor: 移除 ReviewMapper 自定义 SQL,改用 MyBatis-Plus Java API 2026-05-27 21:23:36 +08:00
cat-shark a932bf52ca refactor: 移除 StudyExpectations 相关代码 2026-05-27 21:23:31 +08:00
cat-shark 4b26ed46ec refactor: 移除 UserTask 相关代码(entity/mapper/service/impl/XML) 2026-05-27 21:23:23 +08:00
cat-shark f271efbead feat: add getTaskReview API endpoint for fetching all reports and fragments by task number 2026-05-23 21:01:01 +08:00
cat-shark 375ec8858c feat(review): 新增复习内容滚动展示与交互 API
- 新增 /review/feed 端点,合并报告和残片数据按时间倒序返回
- 新增 /review/report/{id} 和 /review/fragment/{id} 端点
- 支持复习内容在首页滚动展示及点击查看详情
2026-05-23 19:26:24 +08:00
cat-shark 1338cbfc59 refactor(cors): 按环境读取允许来源并支持 uat 配置 2026-04-12 18:55:35 +08:00
cat-shark 43747f785c 修复任务更新主键校验与会话查询SQL参数化 2026-04-12 13:06:11 +08:00
cat-shark c696397d83 修正学习会话计时指针与时间单位定义 2026-04-12 13:06:00 +08:00
cat-shark 05f47b92a8 补全登录退出接口并统一登出路径 2026-04-12 13:05:46 +08:00
cat-shark 19ea1a71f9 feat(14): 对任务列表按照计算优先级进行排序 2025-10-26 18:55:13 +08:00
cat-shark af0dcc49db feat(N/A): 配置WebMvcConfig,解决跨域问题
(cherry picked from commit 4e01a28435)
2025-10-26 18:44:09 +08:00
cat-shark 5951383bc5 feat(N/A): 配置dev环境的cors配置 2025-10-26 18:03:59 +08:00
cat-shark 949b39d6df feat(N/A): 配置dev环境的cors配置 2025-10-26 17:59:28 +08:00
cat-shark 3aa90d29ec feat(N/A): 配置dev环境的cors配置 2025-10-26 17:50:23 +08:00
cat-shark de14d64461 feat(N/A): 配置dev环境的cors配置 2025-10-26 17:39:45 +08:00
cat-shark 57200b7d4f feat(N/A): 配置dev环境的cors配置 2025-10-26 17:08:58 +08:00
cat-shark c45f995cff feat(N/A): 配置dev环境的cors配置 2025-10-26 17:06:01 +08:00
cat-shark 0194433a6a feat(N/A): 配置dev环境的cors配置 2025-10-26 17:01:28 +08:00
cat-shark 951ef50def feat(N/A): 配置dev环境的cors配置 2025-10-26 16:49:35 +08:00
cat-shark 915b27580f feat(N/A): 配置dev环境的cors配置 2025-10-26 16:43:54 +08:00
cat-shark b74fddc2a6 feat(N/A): 配置dev环境的cors配置 2025-10-26 16:29:41 +08:00
cat-shark 516b05f40a feat(N/A): 配置dev环境的cors配置 2025-10-26 16:18:35 +08:00
cat-shark 2fffd11c00 feat(N/A): 配置dev环境的cors配置 2025-10-26 16:15:51 +08:00
cat-shark 00e59b785b feat(N/A): 配置dev环境的cors配置 2025-10-26 16:04:30 +08:00
cat-shark a18156af46 feat(N/A): 修改cors配置 2025-10-26 14:45:23 +08:00
cat-shark 45c5c7b97f feat(N/A): 修改dev环境的cors配置 2025-10-26 12:39:22 +08:00
cat-shark 6b7c695f6f feat(#N/A): 优化全局异常处理 2025-08-06 18:33:36 +08:00
cat-shark 32e0013673 feat(7): 开启登录校验 2025-08-06 17:21:56 +08:00
cat-shark cfc7248466 fit:修复前端cors配置 2025-08-02 12:08:08 +08:00
cat-shark a11489c5b2 feat:增加前端cors配置 2025-08-02 10:50:25 +08:00