- 新增学校通知控制器 (SchoolNotificationController) - 新增任务模板创建/更新请求 DTO - 新增日程计划创建和模板应用请求 DTO - 新增 TokenService 服务实现 - 新增多个服务实现类 (AdminStats, CourseLesson, CoursePackage 等) - 添加数据库迁移脚本 V7__fix_schedule_plans.sql - 更新配置文件和依赖 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7.2 KiB
7.2 KiB
API 对比分析报告
概述
对比 reading-platform-backend (Node.js/NestJS) 和 reading-platform-java (Spring Boot) 的 API 接口差异
已补全的接口
1. 任务管理相关接口(SchoolTaskController, TeacherTaskController)
任务统计接口
GET /api/v1/school/tasks/stats- 获取任务统计数据GET /api/v1/school/tasks/stats/by-type- 按任务类型统计GET /api/v1/school/tasks/stats/by-class- 按班级统计GET /api/v1/school/tasks/stats/monthly- 月度统计趋势
任务完成情况接口
GET /api/v1/school/tasks/:id/completions- 获取任务完成情况分页PUT /api/v1/school/tasks/:taskId/completions/:studentId- 更新任务完成状态
任务模板接口
GET /api/v1/school/task-templates- 获取任务模板列表GET /api/v1/school/task-templates/:id- 获取单个模板GET /api/v1/school/task-templates/default/:taskType- 获取默认模板POST /api/v1/school/task-templates- 创建模板PUT /api/v1/school/task-templates/:id- 更新模板DELETE /api/v1/school/task-templates/:id- 删除模板POST /api/v1/school/tasks/from-template- 从模板创建任务
2. 通知相关接口
学校管理员通知(SchoolNotificationController - 新增)
GET /api/v1/school/notifications- 获取通知列表GET /api/v1/school/notifications/:id- 根据 ID 获取通知GET /api/v1/school/notifications/unread-count- 获取未读数量POST /api/v1/school/notifications/:id/read- 标记已读POST /api/v1/school/notifications/read-all- 全部标记已读
3. 排课和课表相关接口(SchoolScheduleController)
GET /api/v1/school/schedules/timetable- 获取课表(带日期范围)POST /api/v1/school/schedules/batch- 批量创建排课GET /api/v1/school/schedules/templates/:id- 获取单个模板PUT /api/v1/school/schedules/templates/:id- 更新模板POST /api/v1/school/schedules/templates/:id/apply- 应用模板
4. 新增 DTO
TaskTemplateCreateRequest- 任务模板创建请求TaskTemplateUpdateRequest- 任务模板更新请求CreateTaskFromTemplateRequest- 从模板创建任务请求SchedulePlanCreateRequest- 课表计划创建请求ScheduleTemplateApplyRequest- 课表模板应用请求
仍需补全的接口
P1 - 重要功能
1. 成长档案接口(SchoolGrowthController, TeacherGrowthController)
GET /api/v1/school/students/:studentId/growth-records- 按学生查询成长档案GET /api/v1/school/classes/:classId/growth-records- 按班级查询成长档案GET /api/v1/teacher/classes/:classId/growth-records- 教师端按班级查询
2. 教师端课时增强接口(TeacherLessonController)
POST /api/v1/teacher/lessons/:id/finish- 完成课时(带反馈数据)POST /api/v1/teacher/lessons/:id/students/:studentId/record- 保存学生记录GET /api/v1/teacher/lessons/:id/student-records- 获取学生记录POST /api/v1/teacher/lessons/:id/student-records/batch- 批量保存学生记录POST /api/v1/teacher/lessons/:id/feedback- 提交反馈GET /api/v1/teacher/lessons/:id/feedback- 获取反馈
3. 教师端课程增强接口(TeacherCourseController)
GET /api/v1/teacher/courses/classes- 获取班级列表GET /api/v1/teacher/students- 获取所有学生GET /api/v1/teacher/classes/:id/students- 获取班级学生GET /api/v1/teacher/classes/:id/teachers- 获取班级教师GET /api/v1/teacher/schedules/timetable- 获取课表GET /api/v1/teacher/schedules/today- 获取今天排课POST /api/v1/teacher/schedules- 创建排课PUT /api/v1/teacher/schedules/:id- 更新排课DELETE /api/v1/teacher/schedules/:id- 取消排课
4. 班级管理接口(SchoolClassController)
GET /api/v1/school/classes/:id/students- 获取班级学生GET /api/v1/school/classes/:id/teachers- 获取班级教师POST /api/v1/school/classes/:id/teachers- 添加班级教师PUT /api/v1/school/classes/:id/teachers/:teacherId- 更新班级教师DELETE /api/v1/school/classes/:id/teachers/:teacherId- 移除班级教师POST /api/v1/school/students/:id/transfer- 学生调班GET /api/v1/school/students/:id/history- 学生调班历史POST /api/v1/school/students/import- 批量导入学生GET /api/v1/school/students/import/template- 获取导入模板
P2 - 辅助功能
1. 统计报告接口(SchoolStatsController)
GET /api/v1/school/stats/teachers- 活跃教师统计GET /api/v1/school/stats/courses- 课程使用统计GET /api/v1/school/stats/activities- 最近活动GET /api/v1/school/stats/lesson-trend- 课时趋势GET /api/v1/school/stats/course-distribution- 课程分布GET /api/v1/school/reports/overview- 概览报告GET /api/v1/school/reports/teachers- 教师报告GET /api/v1/school/reports/courses- 课程报告GET /api/v1/school/reports/students- 学生报告
2. 导出接口增强(SchoolExportController)
GET /api/v1/school/export/lessons?startDate=&endDate=- 导出课时(带日期范围)GET /api/v1/school/export/teacher-stats?startDate=&endDate=- 导出教师统计GET /api/v1/school/export/student-stats?classId=- 导出学生统计(按班级)
3. 课程包/套餐接口
GET /api/v1/school/package- 获取套餐信息GET /api/v1/school/package/usage- 获取套餐使用情况
4. 家长相关接口
POST /api/v1/school/parents/:parentId/children/:studentId- 添加孩子到家长DELETE /api/v1/school/parents/:parentId/children/:studentId- 从家长移除孩子
5. 管理员课程接口
GET /api/v1/admin/courses/:id/stats- 课程统计GET /api/v1/admin/courses/:id/validate- 验证课程GET /api/v1/admin/courses/:id/versions- 版本历史POST /api/v1/admin/courses/:id/submit- 提交审核POST /api/v1/admin/courses/:id/withdraw- 撤销审核POST /api/v1/admin/courses/:id/approve- 审核通过POST /api/v1/admin/courses/:id/reject- 审核驳回POST /api/v1/admin/courses/:id/direct-publish- 直接发布POST /api/v1/admin/courses/:id/publish- 发布POST /api/v1/admin/courses/:id/unpublish- 下架POST /api/v1/admin/courses/:id/republish- 重新发布
6. 资源接口增强
POST /api/v1/admin/resources/items/batch-delete- 批量删除资源项GET /api/v1/admin/resources/stats- 资源统计
7. 反馈接口
GET /api/v1/teacher/feedbacks- 获取反馈列表GET /api/v1/teacher/feedbacks/stats- 获取反馈统计GET /api/v1/school/feedbacks- 获取反馈列表(学校端)GET /api/v1/school/feedbacks/stats- 获取反馈统计(学校端)
8. 认证接口
GET /api/v1/auth/profile- 获取用户信息POST /api/v1/auth/logout- 登出
总结
本次补全了以下主要功能:
- 任务管理:统计、模板、完成情况更新
- 通知:学校管理员通知接口
- 排课:课表模板、批量创建、应用模板
下一步建议优先补全:
- 成长档案按学生/班级查询接口
- 教师端课时反馈接口
- 班级管理相关接口
- 学生调班和批量导入接口