forked from wangziqi/gongxue-base
feat: schedule student supervision rules
This commit is contained in:
@@ -276,7 +276,7 @@ tenant:<tenantId>:theme
|
||||
| 学生备注 | `GET/PUT /api/tenant-admin/students/notes` |
|
||||
| 学生跟进任务 | `GET/PUT /api/tenant-admin/students/followups` |
|
||||
| 学生跟进看板 | `GET /api/tenant-admin/students/followups/report?timeRange=30d&classId=...` |
|
||||
| 学习督导自动化 | `GET /api/tenant-admin/students/supervision/preview?classId=...`、`POST /api/tenant-admin/students/supervision/generate` |
|
||||
| 学习督导自动化 | `GET /api/tenant-admin/students/supervision/preview?classId=...`、`POST /api/tenant-admin/students/supervision/generate`、`GET/PUT /api/tenant-admin/students/supervision/rules` |
|
||||
| 租户教师 | `GET /api/tenant-admin/teachers` |
|
||||
| 租户考试日期 | `GET/PUT /api/tenant-admin/exam-dates` |
|
||||
| 租户反馈处理 | `GET /api/tenant-admin/feedbacks`、`GET /api/tenant-admin/feedbacks/report`、`POST /api/tenant-admin/feedbacks/status`、`GET /api/tenant-admin/feedbacks/events` |
|
||||
@@ -1481,7 +1481,7 @@ content_entries
|
||||
- 学生批量导入和批量分班接口会返回 `total/successCount/errorCount/results`,前端必须展示逐行错误,不要在浏览器端静默丢弃失败行。学生导入模板不要提供头像 URL 或 `primaryRole` 字段;后端会拒绝这类字段,学生头像统一由个人中心 `avatarPreset` 控制。
|
||||
- 学生批量 CRM 推送统一调用 `POST /api/tenant-admin/students/crm-push`,请求包含 `studentUserIds/title/message/followupType/priority/assignedToUserId/classId/dueAt/idempotencyKey`。前端不要直接写 `crm_webhook_queue`,也不要持有 webhook 密钥;后端会校验 `crm:write`、学生范围、班级范围、指派人租户成员和幂等键,并返回逐行 `queueId/followupId/errors`。
|
||||
- 学生跟进看板统一调用 `GET /api/tenant-admin/students/followups/report`,不要由前端直接读取 `tenant_student_followups` 或 `crm_webhook_queue` 后自行聚合。该接口支持 `timeRange=7d|30d|90d` 或 `startDate/endDate`、`assignedToUserId`、`followupType`、`classId` 和 `limit`,返回 `summary/crmQueue/byStatus/byType/byPriority/byAssignee/byClass/dailyTrend/overdueItems`;后端会沿用当前账号的租户权限、教师班级范围和手机号脱敏规则。
|
||||
- 学习督导自动化统一走后端 `preview -> generate`:先调用 `GET /api/tenant-admin/students/supervision/preview` 预览候选学生和风险原因,再调用 `POST /api/tenant-admin/students/supervision/generate` 幂等生成 `learning` 跟进任务。前端不要直接读取 `answer_records`、`wrong_questions`、`user_word_progress`、`practice_sessions` 或 `tenant_student_followups.metadata` 自行计算风险;后端会统一执行 `students:supervision:read/write` 权限、教师班级范围、学生手机号字段脱敏和审计。
|
||||
- 学习督导自动化统一走后端 `preview -> generate -> rules`:先调用 `GET /api/tenant-admin/students/supervision/preview` 预览候选学生和风险原因,再调用 `POST /api/tenant-admin/students/supervision/generate` 幂等生成 `learning` 跟进任务;需要周期执行时用 `GET/PUT /api/tenant-admin/students/supervision/rules` 查询或保存督导规则模板。规则支持 `manual/daily/weekly`、阈值配置、班级范围、负责人和每次生成上限,后端会为 scoped 教师/班主任强制班级范围;`apps/worker --job student-supervision` 会按启用规则定时生成跟进任务并写回 `lastResult/nextRunAt`。前端不要直接读取 `answer_records`、`wrong_questions`、`user_word_progress`、`practice_sessions`、`tenant_student_supervision_rules` 或 `tenant_student_followups.metadata` 自行计算风险或改规则状态;后端会统一执行 `students:supervision:read/write` 权限、教师班级范围、学生手机号字段脱敏和审计。
|
||||
- 教师可以为范围内学生创建备注和跟进任务,但是否能禁用学生、批量导入、查看手机号由后端权限和字段权限决定;前端只按返回值渲染。
|
||||
- H5 自定义域名下要注意缓存隔离,不能把 A 租户主题缓存用到 B 租户。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user