Forráskód Böngészése

docs: record legacy writing review visibility release

彭峰 11 órája
szülő
commit
7a5bc92663
1 módosított fájl, 33 hozzáadás és 0 törlés
  1. 33 0
      docs/qa/legacy-writing-review-visibility-2026-11-07.md

+ 33 - 0
docs/qa/legacy-writing-review-visibility-2026-11-07.md

@@ -0,0 +1,33 @@
+# 魏格格历史写作抗遗忘任务不可见修复 · 2026-11-07
+
+## 原因
+
+魏格格(陪练编号 1805)反馈,旧系统今天有舒逸辰和龙泓钢的抗遗忘任务,新系统只显示舒逸辰。
+
+旧接口及正式数据库均确认今天共有 8 条任务:舒逸辰(1829)2 条单词复习,龙泓钢(1837)6 条阅读写作复习。龙泓钢的 6 条记录已完整同步,关联旧课程 398“阅读写作”,原学习记录本来没有单词,`learned=0`、`xxqs` 为空,来源预约已完成且师生关系可核实。
+
+`notesReviewSourceSql` 仅识别已经确认学段分类的 `primary_writing/middle_writing/high_writing`;旧 398 预约分类为空,因此被普通空词表过滤条件排除。详情接口同样只认识新分类,单独恢复列表仍会无法打开笔记复习。
+
+## 修复
+
+- 列表、日历统计和学员筛选复用的来源判断,兼容已完成/已点评的旧课程 398;要求预约主附表来源键互相匹配、来源学员正确且预约未回收。
+- 明确的 word 等其他分类、未完成预约、错误学员、未知来源或其他无词表课程不放行。不推断小学/中学/高中计费分类,也不改课程或价格。
+- 详情 SQL 复用同一来源判断,在已有学习记录授权与预约学员/状态检查后返回 `reviewContentMode='notes'`。内部查询标记不返回到学习记录对象。
+- 不新增或重排任务,不改完成状态、老师归属、课时或费用。
+
+修复代码 `a6cd179` 已提交并推送。后端只替换正式 `xiaoshu.app.gateway` 的 `notesReviewSourceSql` 和 `recordDetailData`,其他函数逐项保持一致;发布后完整源码哈希回读匹配。无需数据库迁移或前端重新发布。
+
+## 验证
+
+- 先运行新增 PostgreSQL 用例复现原列表 0 条,再验证兼容后列表、分页、今日统计、学员筛选及笔记详情;同时覆盖错误学生、来源冲突、回收、未完成和普通空词表的拒绝分支,以及非关联老师的授权拒绝。
+- 相关 17 项回归、最终全量 441 项服务端测试全部通过;11 个云函数定义校验通过。
+- 使用真实魏格格身份对象,在受限管理辅助函数中调用线上源码的实际读取/授权函数:修复前当天 2 条,修复后 8 条;其中龙泓钢 6 条,六条详情均识别为笔记复习。辅助函数已删除。
+- 另用现有管理会话请求正式公开网关,龙泓钢当天返回 6 条、归属陪练均为 1805;六个 `e_record_detail` 请求均返回 notes 模式,不再尝试把写作任务当成单词表。
+- 为隔离公开网关的老师分支曾尝试创建临时 QA 管理账号,创建接口返回 HTTP 500;确认没有残留账号后,改用现有管理会话验证公开接口,并用实际老师身份对象验证教师范围。未修改老师账号或凭据,不将上述检查当作老师真实登录验收。
+- 375px 浏览器加载现有线上静态资源,以隔离接口及正式读取的数据检查:首页显示龙泓钢 6 条、舒逸辰 2 条;点击龙泓钢进入语法写作笔记复习,“结束复习”按钮可用,无脚本异常、无横向溢出。没有点击提交完成,未写复习结果。该检查不代表微信手机实机验收。
+
+今天同规则恢复的范围共 23 条任务,涉及 9 位学员、8 位老师。修复是读取规则调整,无需人工补建任务。
+
+老师首页的今日列表按登录账号/日期缓存,需要点击“今日抗遗忘带练”右上角刷新按钮强制重新加载。
+
+证据、发布前备份、候选和正式读取结果、公开接口核验及浏览器截图:`~/.local/state/xiaoshu/cloud-releases/2026-11-07-writing-review-visibility/`。回退时只恢复备份内上述两个函数;保留任务、完成记录及费用凭据。