升级学生档案管理

This commit is contained in:
Codex
2026-06-30 11:35:25 +08:00
parent 93cd2e9c75
commit 124ffca03e
17 changed files with 409 additions and 436 deletions
+10 -7
View File
@@ -35,7 +35,7 @@ docker compose -f app/docker-compose.yml <命令>
## 后端结构
- `app/main.py`:FastAPI 应用入口,只负责注册路由和全局异常处理。
- `app/routers/`:按业务入口拆分 API 和页面路由,包括登录页面、课程记录、课时账户、管理后台、课程小结推送和健康检查。
- `app/routers/`:按业务入口拆分 API 和页面路由,包括登录页面、课程记录、学生档案、管理后台、课程小结推送和健康检查。
- `app/config.py`:路径、环境变量、Cookie 名称和进程内写锁。
- `app/auth.py`:网页登录、Basic Auth、管理后台和课程小结推送鉴权。
- `app/schemas.py`:请求体 Pydantic 模型。
@@ -115,6 +115,8 @@ make migrate-sqlite
/root/新时空教务管理系统/archives/text-source-before-sqlite-<时间>.tar.gz.sha256
```
学生表包含 `primary_entry_year` 字段,用于维护“小学一年级入学年份”。排课系统只读该字段并按课程日期动态推算年级。管理后台的学生档案编辑页可以维护该字段;运行时 `学生课时账户.md` 缓存会导出为 7 列格式,同时仍兼容旧 6 列缓存导入。
## 课程小结推送
VPS 接收接口:
@@ -229,12 +231,13 @@ docker compose up -d
- `GET /api/health`:数据状态。
- `GET /api/records?q=王鑫鹏5月数学课`:自然语言查询上课记录。
- `GET /api/accounts`课时账户列表。
- `GET /api/accounts?q=王鑫鹏`:按学生筛选账户
- `GET /api/accounts?status=欠费`:按账户状态筛选。
- `GET /api/accounts/王鑫鹏`:单个学生账户
- `POST /api/admin/accounts`:管理后台新增课时账户
- `PUT /api/admin/accounts/{student_id}`:管理后台修改课时账户
- `GET /api/students`学生档案列表。
- `GET /api/students?q=王鑫鹏`:按学生姓名或学生ID筛选学生档案
- `GET /api/students?status=欠费`:按档案状态筛选。
- `GET /api/students/王鑫鹏`:单个学生档案
- `POST /api/admin/students`:管理后台新增学生档案
- `PUT /api/admin/students/{student_id}`:管理后台修改学生档案
- 学生档案的剩余课时由系统按缴费记录和上课记录自动计算,管理接口不会接受人工修改余额。
- `GET /api/admin/teachers`:管理后台读取老师档案。
- `POST /api/admin/teachers`:管理后台新增老师档案。
- `PUT /api/admin/teachers/{teacher_id}`:管理后台修改老师档案。