优化批次统计查询并统一评分反馈与复核刷新 #3
@@ -0,0 +1,23 @@
|
|||||||
|
# 评分反馈与批次列表优化(2026-10-18)
|
||||||
|
|
||||||
|
## 改动
|
||||||
|
|
||||||
|
- `0006387`:批次列表的状态统计改为按批次和状态一次聚合,避免每个批次额外查询。接口字段、排序和无评分时的零计数保持一致。
|
||||||
|
- `ba5a695`:API、聊天和导出反馈共用评分状态名称。先识别具体连接/超时/HTTP错误,再识别通用JSON校验提示,避免把被统一包装的连接错误误标为输出错误;证据不足说明不再断言报告没有正文。
|
||||||
|
- `4fec28c`:网页优先显示API给出的状态名称,并兼容缺少该字段的旧结果。
|
||||||
|
- `aa82523`:增加“刷新评分”;保存教师复核后同步刷新批次状态与评分。刷新保留当前筛选,切换批次或学生时重置筛选;旧学生迟到的响应不会覆盖当前学生结果,教师零分正常保留。
|
||||||
|
- `93bcd2d`:聊天工具对简化评分结果回退到共用分类函数,不要求所有结果提供新增字段。
|
||||||
|
|
||||||
|
分支为 `improve/grading-feedback`,基于上游合并PR #2后的 `7e2cdbd`。每项改动独立提交,单次涉及1–3个文件。
|
||||||
|
|
||||||
|
## 验证
|
||||||
|
|
||||||
|
- 独立SQLite回归:20个批次的列表查询从21次降为2次;空列表为1次。各状态计数与原结果一致。
|
||||||
|
- 真实PostgreSQL只读测量:当前8个批次的列表查询从9次降为2次。这里记录查询次数,不将其等同于延迟提升比例。
|
||||||
|
- Docker独立PostgreSQL/Redis环境运行完整非`integration`后端测试:154 passed,2 deselected。未运行在线模型测试,临时测试服务已停止。
|
||||||
|
- Playwright:22 passed;TypeScript/Vite构建通过。覆盖最后一项复核保存后的批次状态更新、零分、筛选保留、旧学生迟到响应,以及被通用JSON错误包装的连接失败显示。
|
||||||
|
- Docker API/Worker/Web更新并健康;更新前确认无排队和执行中的评分任务。
|
||||||
|
- 实际网页:批次8为22项已评分、0项待处理,批次7为21项已评分、1项待处理;点击刷新后筛选与统计一致。无页面异常、无业务写请求、无模型调用。
|
||||||
|
- 批次8结果仅增加展示用`status_label`字段。排除该新增字段后,更新前后规范化JSON的SHA-256一致,22项评分、评语与证据未改动。
|
||||||
|
|
||||||
|
本轮不重新评分、不改写原PDF、不修改历史批次结果。网页新增按钮只刷新读取数据;教师复核保存行为只在隔离测试中验证。
|
||||||
Reference in New Issue
Block a user