# 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` - 登出 --- ## 总结 本次补全了以下主要功能: 1. 任务管理:统计、模板、完成情况更新 2. 通知:学校管理员通知接口 3. 排课:课表模板、批量创建、应用模板 下一步建议优先补全: 1. 成长档案按学生/班级查询接口 2. 教师端课时反馈接口 3. 班级管理相关接口 4. 学生调班和批量导入接口