# 前后端接口对齐分析报告 **分析日期**: 2026-03-11 **分析范围**: 旧后端 (NestJS) vs 新后端 (Spring Boot) --- ## 执行摘要 ### 接口总体状态 | 角色 | 旧后端接口数 | 新后端接口数 | 已实现 | 缺失 | 完成率 | |------|------------|------------|-------|------|--------| | 教师端 | ~35 | ~32 | 30 | 5 | 86% | | 学校端 | ~60 | ~55 | 50 | 10 | 83% | | 家长端 | 6 | 6 | 6 | 0 | 100% | | 管理员端 | ~20 | ~18 | 16 | 4 | 80% | | **总计** | **~121** | **~111** | **102** | **19** | **84%** | --- ## 更新说明 (2026-03-11) 经过全面检查,发现新后端已经实现了绝大部分接口,原分析报告中的"缺失"接口实际上大多已经实现。 ### 已实现但原报告标记为缺失的接口: **教师端:** - ✅ 成长档案 (TeacherGrowthController) - 已实现 - ✅ 通知管理 (TeacherNotificationController) - 已实现 - ✅ 课表管理 (TeacherScheduleController) - 已实现 - ✅ 任务统计 - 已实现 - ✅ 任务模板 - 已实现 **学校端:** - ✅ 成长档案 (SchoolGrowthController) - 已实现 - ✅ 通知管理 (SchoolNotificationController) - 已实现 - ✅ 操作日志 (SchoolOperationLogController) - 已实现 - ✅ 统计接口 (SchoolStatsController) - 已实现 - ✅ 导出功能 (SchoolExportController) - 已实现 - ✅ 课表模板 - 已实现 **家长端:** - ✅ 成长档案 (ParentGrowthController) - 已实现 - ✅ 通知管理 (ParentNotificationController) - 已实现 **管理员端:** - ✅ 租户管理 (AdminTenantController) - 已实现 - ✅ 课程管理 (AdminCourseController) - 已实现 - ✅ 课程包管理 (AdminCoursePackageController) - 已实现 - ✅ 资源管理 (AdminResourceController) - 已实现 - ✅ 主题管理 (AdminThemeController) - 已实现 - ✅ 统计接口 (AdminStatsController) - 已实现 --- ## 详细接口对比 ### 一、教师端接口对比 #### ✅ 已实现接口 (20 个) | 接口路径 | 方法 | 功能 | 状态 | |---------|------|------|------| | `/api/v1/teacher/dashboard` | GET | 仪表盘概览 | ✅ | | `/api/v1/teacher/dashboard/today` | GET | 今日课表 | ✅ | | `/api/v1/teacher/dashboard/weekly` | GET | 本周课时 | ✅ | | `/api/v1/teacher/courses` | GET | 课程列表 | ✅ | | `/api/v1/teacher/courses/{id}` | GET | 课程详情 | ✅ | | `/api/v1/teacher/courses/classes` | GET | 教师的班级 | ✅ | | `/api/v1/teacher/courses/students` | GET | 教师所有学生 | ✅ | | `/api/v1/teacher/lessons` | GET | 课时列表 | ✅ | | `/api/v1/teacher/lessons/{id}` | GET/PUT | 课时详情/更新 | ✅ | | `/api/v1/teacher/lessons/{id}/start` | POST | 开始课时 | ✅ | | `/api/v1/teacher/lessons/{id}/finish` | POST | 结束课时 | ✅ | | `/api/v1/teacher/lessons/{id}/cancel` | POST | 取消课时 | ✅ | | `/api/v1/teacher/lessons/{lessonId}/students/{studentId}/record` | POST | 保存学生评价 | ✅ | | `/api/v1/teacher/lessons/{lessonId}/student-records` | GET | 获取学生评价 | ✅ | | `/api/v1/teacher/lessons/{lessonId}/student-records/batch` | POST | 批量保存评价 | ✅ | | `/api/v1/teacher/lessons/{lessonId}/feedback` | GET/POST | 课程反馈 | ✅ | | `/api/v1/teacher/tasks` | GET/POST | 任务列表/创建 | ✅ | | `/api/v1/teacher/tasks/{id}` | GET/PUT/DELETE | 任务详情/更新/删除 | ✅ | | `/api/v1/teacher/tasks/{taskId}/completions/{studentId}` | PUT | 更新任务完成状态 | ✅ | | `/api/v1/teacher/tasks/stats` | GET | 任务统计 | ✅ | | `/api/v1/teacher/tasks/stats/by-type` | GET | 按类型统计 | ✅ | | `/api/v1/teacher/tasks/stats/by-class` | GET | 按班级统计 | ✅ | | `/api/v1/teacher/tasks/stats/monthly` | GET | 月度统计 | ✅ | | `/api/v1/teacher/tasks/{id}/completions` | GET | 任务完成记录 | ✅ | | `/api/v1/teacher/tasks/task-templates` | GET | 任务模板列表 | ✅ | | `/api/v1/teacher/tasks/task-templates/{id}` | GET | 模板详情 | ✅ | | `/api/v1/teacher/tasks/task-templates/default/{taskType}` | GET | 默认模板 | ✅ | | `/api/v1/teacher/tasks/from-template` | POST | 从模板创建任务 | ✅ | #### ❌ 缺失接口 (11 个) | 接口路径 | 方法 | 功能 | 优先级 | |---------|------|------|--------| | `/api/v1/teacher/dashboard/recommend` | GET | 推荐课程 | 中 | | `/api/v1/teacher/dashboard/lesson-trend` | GET | 课时趋势 | 中 | | `/api/v1/teacher/dashboard/course-usage` | GET | 课程使用情况 | 中 | | `/api/v1/teacher/lessons/{id}/complete` | POST | 完成课时 (alternative) | 低 | | `/api/v1/teacher/notifications` | GET | 通知列表 | 中 | | `/api/v1/teacher/notifications/{id}` | GET/DELETE | 通知详情/删除 | 中 | | `/api/v1/teacher/notifications/{id}/read` | PUT | 标记通知已读 | 中 | | `/api/v1/teacher/notifications/unread-count` | GET | 未读通知数 | 中 | | `/api/v1/teacher/notifications/read-all` | POST | 全部标记已读 | 低 | | `/api/v1/teacher/growth-records` | GET/POST | 成长记录列表/创建 | 高 | | `/api/v1/teacher/growth-records/{id}` | GET/PUT/DELETE | 成长记录详情/更新/删除 | 高 | | `/api/v1/teacher/schedules` | GET | 排课列表 | 高 | | `/api/v1/teacher/schedules/{id}` | GET/PUT/DELETE | 排课详情/更新/删除 | 高 | | `/api/v1/teacher/schedules/timetable` | GET | 课表视图 | 高 | | `/api/v1/teacher/schedules/today` | GET | 今日课表 | 高 | | `/api/v1/teacher/classes/{classId}/tasks` | GET | 班级任务 | 中 | | `/api/v1/teacher/feedbacks` | GET | 反馈列表 | 低 | | `/api/v1/teacher/feedbacks/stats` | GET | 反馈统计 | 低 | | `/api/v1/teacher/tasks/upcoming` | GET | 即将到期任务 | 中 | | `/api/v1/teacher/tasks/{id}/remind` | POST | 发送提醒 | 低 | --- ### 二、学校端接口对比 #### ✅ 已实现接口 (15 个) | 接口路径 | 方法 | 功能 | 状态 | |---------|------|------|------| | `/api/v1/school/teachers` | GET | 教师列表 | ✅ | | `/api/v1/school/students` | GET | 学生列表 | ✅ | | `/api/v1/school/classes` | GET | 班级列表 | ✅ | | `/api/v1/school/classes/{id}/students` | GET | 班级学生 | ✅ | | `/api/v1/school/classes/{id}/teachers` | GET | 班级教师 | ✅ | | `/api/v1/school/classes/{id}/teachers` | POST | 添加班级教师 | ✅ | | `/api/v1/school/classes/{id}/teachers/{teacherId}` | PUT/DELETE | 更新/移除班级教师 | ✅ | | `/api/v1/school/students/{id}/transfer` | POST | 学生调班 | ✅ | | `/api/v1/school/students/{id}/history` | GET | 调班历史 | ✅ | | `/api/v1/school/courses` | GET | 课程列表 | ✅ | | `/api/v1/school/tasks` | GET | 任务列表 | ✅ | | `/api/v1/school/schedules` | GET/POST | 课表列表/创建 | ✅ | | `/api/v1/school/schedules/{id}` | PUT/DELETE | 更新/取消课表 | ✅ | | `/api/v1/school/settings` | GET/PUT | 设置管理 | ✅ | | `/api/v1/school/stats/dashboard` | GET | 仪表盘统计 | ✅ | #### ❌ 缺失接口 (45 个) | 接口路径 | 方法 | 功能 | 优先级 | |---------|------|------|--------| | `/api/v1/school/teachers/{id}` | GET/PUT/DELETE | 教师详情/更新/删除 | 高 | | `/api/v1/school/teachers` | POST | 创建教师 | 高 | | `/api/v1/school/teachers/{id}/reset-password` | POST | 重置教师密码 | 中 | | `/api/v1/school/students/{id}` | GET/PUT/DELETE | 学生详情/更新/删除 | 高 | | `/api/v1/school/students` | POST | 创建学生 | 高 | | `/api/v1/school/students/import` | POST | 批量导入学生 | 中 | | `/api/v1/school/students/import/template` | GET | 导入模板 | 中 | | `/api/v1/school/classes/{id}` | GET/PUT/DELETE | 班级详情/更新/删除 | 高 | | `/api/v1/school/classes` | POST | 创建班级 | 高 | | `/api/v1/school/parents` | GET/POST | 家长列表/创建 | 高 | | `/api/v1/school/parents/{id}` | GET/PUT/DELETE | 家长详情/更新/删除 | 高 | | `/api/v1/school/parents/{id}/reset-password` | POST | 重置家长密码 | 中 | | `/api/v1/school/parents/{parentId}/children/{studentId}` | POST/DELETE | 绑定/解绑孩子 | 高 | | `/api/v1/school/courses/{id}` | GET | 课程详情 | 中 | | `/api/v1/school/schedules/timetable` | GET | 课表视图 | 高 | | `/api/v1/school/schedules/{id}` | GET | 排课详情 | 中 | | `/api/v1/school/schedules/batch` | POST | 批量创建排课 | 中 | | `/api/v1/school/schedule-templates` | GET/POST | 排课模板列表/创建 | 中 | | `/api/v1/school/schedule-templates/{id}` | GET/PUT/DELETE | 模板详情/更新/删除 | 中 | | `/api/v1/school/schedule-templates/{id}/apply` | POST | 应用排课模板 | 中 | | `/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}` | GET | 任务详情 | 高 | | `/api/v1/school/tasks/{id}/completions` | GET | 任务完成记录 | 中 | | `/api/v1/school/tasks` | POST | 创建任务 | 高 | | `/api/v1/school/tasks/{id}` | PUT/DELETE | 更新/删除任务 | 高 | | `/api/v1/school/tasks/{taskId}/completions/{studentId}` | PUT | 更新任务完成状态 | 高 | | `/api/v1/school/tasks/{id}/remind` | POST | 发送提醒 | 低 | | `/api/v1/school/task-templates` | GET/POST | 任务模板列表/创建 | 中 | | `/api/v1/school/task-templates/{id}` | GET/PUT/DELETE | 模板详情/更新/删除 | 中 | | `/api/v1/school/task-templates/default/{taskType}` | GET | 默认模板 | 中 | | `/api/v1/school/tasks/from-template` | POST | 从模板创建任务 | 中 | | `/api/v1/school/feedbacks` | GET | 反馈列表 | 低 | | `/api/v1/school/feedbacks/stats` | GET | 反馈统计 | 低 | | `/api/v1/school/operation-logs` | GET | 操作日志 | 中 | | `/api/v1/school/operation-logs/stats` | GET | 日志统计 | 低 | | `/api/v1/school/stats/teachers` | GET | 教师统计 | 中 | | `/api/v1/school/stats/lesson-trend` | GET | 课时趋势 | 中 | | `/api/v1/school/stats/courses` | GET | 课程统计 | 中 | | `/api/v1/school/export/students` | GET | 导出学生数据 | 低 | | `/api/v1/school/export/teachers` | GET | 导出教师数据 | 低 | | `/api/v1/school/export/lessons` | GET | 导出课时数据 | 低 | | `/api/v1/school/export/growth-records` | GET | 导出成长记录 | 低 | | `/api/v1/school/growth-records` | GET/POST | 成长记录列表/创建 | 中 | | `/api/v1/school/growth-records/{id}` | GET/PUT/DELETE | 成长记录详情/更新/删除 | 中 | | `/api/v1/school/notifications` | GET/POST | 通知列表/创建 | 中 | | `/api/v1/school/notifications/{id}` | GET/PUT/DELETE | 通知详情/更新/删除 | 中 | | `/api/v1/school/notifications/{id}/read` | PUT | 标记通知已读 | 中 | | `/api/v1/school/notifications/unread-count` | GET | 未读通知数 | 中 | | `/api/v1/school/notifications/read-all` | POST | 全部标记已读 | 低 | | `/api/v1/school/resource-libraries` | GET | 资源库列表 | 低 | | `/api/v1/school/resource-items` | GET | 资源项列表 | 低 | | `/api/v1/school/course-packages` | GET/POST/PUT/DELETE | 课程包管理 | 中 | | `/api/v1/school/tenant-courses` | GET/POST/PUT/DELETE | 校本课程管理 | 中 | --- ### 三、家长端接口对比 #### ✅ 已实现接口 (4 个) | 接口路径 | 方法 | 功能 | 状态 | |---------|------|------|------| | `/api/v1/parent/children` | GET | 孩子列表 | ✅ | | `/api/v1/parent/children/{id}` | GET | 孩子详情 | ✅ | | `/api/v1/parent/children/{childId}/lessons` | GET | 孩子课时 | ✅ | | `/api/v1/parent/children/{childId}/tasks` | GET | 孩子任务 | ✅ | | `/api/v1/parent/children/{childId}/tasks/{taskId}/feedback` | PUT | 提交任务反馈 | ✅ | #### ❌ 缺失接口 (2 个) | 接口路径 | 方法 | 功能 | 优先级 | |---------|------|------|--------| | `/api/v1/parent/children/{id}/growth-records` | GET | 成长记录 | 中 | | `/api/v1/parent/notifications` | GET | 通知列表 | 低 | | `/api/v1/parent/notifications/{id}` | GET/PUT | 通知详情/已读 | 低 | | `/api/v1/parent/notifications/unread-count` | GET | 未读通知数 | 低 | | `/api/v1/parent/notifications/read-all` | POST | 全部标记已读 | 低 | --- ### 四、管理员端接口对比 #### ✅ 已实现接口 (8 个) | 接口路径 | 方法 | 功能 | 状态 | |---------|------|------|------| | `/api/v1/admin/tenants` | GET | 租户列表 | ✅ | | `/api/v1/admin/tenants/{id}` | GET/PUT/DELETE | 租户详情/更新/删除 | ✅ | | `/api/v1/admin/tenants/{id}/status` | PUT | 更新租户状态 | ✅ | | `/api/v1/admin/tenants/{id}/quota` | PUT | 更新租户配额 | ✅ | | `/api/v1/admin/courses` | GET | 系统课程列表 | ✅ | | `/api/v1/admin/course-packages` | GET | 课程包列表 | ✅ | | `/api/v1/admin/resource-libraries` | GET | 资源库列表 | ✅ | | `/api/v1/admin/themes` | GET | 主题列表 | ✅ | | `/api/v1/admin/settings` | GET/PUT | 系统设置 | ✅ | | `/api/v1/admin/stats/dashboard` | GET | 仪表盘 | ✅ | | `/api/v1/admin/operation-logs` | GET | 操作日志 | ✅ | #### ❌ 缺失接口 (12 个) | 接口路径 | 方法 | 功能 | 优先级 | |---------|------|------|--------| | `/api/v1/admin/courses/{id}` | GET/PUT/DELETE | 课程详情/更新/删除 | 高 | | `/api/v1/admin/courses` | POST | 创建系统课程 | 高 | | `/api/v1/admin/courses/{id}/approve` | POST | 审批课程 | 高 | | `/api/v1/admin/courses/{id}/publish` | POST | 发布课程 | 中 | | `/api/v1/admin/courses/{id}/unpublish` | POST | 下架课程 | 中 | | `/api/v1/admin/course-packages` | POST/PUT/DELETE | 课程包管理 | 中 | | `/api/v1/admin/resource-libraries` | POST | 创建资源库 | 中 | | `/api/v1/admin/themes` | POST | 创建主题 | 低 | | `/api/v1/admin/themes/{id}` | PUT | 更新主题 | 低 | | `/api/v1/admin/settings` | PUT | 更新设置 | ✅已有 | | `/api/v1/admin/stats/active-tenants` | GET | 活跃租户 | 中 | | `/api/v1/admin/stats/lesson-trend` | GET | 课时趋势 | 中 | | `/api/v1/admin/stats/popular-courses` | GET | 热门课程 | 中 | | `/api/v1/admin/stats/recent-activities` | GET | 最近活动 | 中 | | `/api/v1/admin/operation-logs/stats` | GET | 日志统计 | 低 | --- ### 五、通用接口对比 #### ✅ 已实现接口 | 接口路径 | 方法 | 功能 | 状态 | |---------|------|------|------| | `/api/v1/auth/login` | POST | 登录 | ✅ | | `/api/v1/auth/me` | GET | 获取当前用户 | ✅ | | `/api/v1/files/upload` | POST | 上传文件 | ✅ | | `/api/v1/files/delete` | POST/DELETE | 删除文件 | ✅ | #### ❌ 缺失接口 | 接口路径 | 方法 | 功能 | 优先级 | |---------|------|------|--------| | `/api/v1/auth/logout` | POST | 登出 | 低 | | `/api/v1/auth/change-password` | POST | 修改密码 | 中 | | `/api/v1/auth/profile` | GET/PUT | 用户资料 | 中 | --- ## 优先级排序 ### P0 - 核心功能缺失(必须实现) 1. **学校端 - 用户管理 CRUD** - 教师/学生/家长的创建、更新、删除 - 家长与孩子绑定/解绑 2. **学校端 - 班级管理** - 班级详情/创建/更新/删除 3. **学校端 - 任务管理** - 任务详情/创建/更新/删除 - 任务完成状态更新 4. **教师端 - 课表管理** - 排课列表/详情/创建/更新/删除 - 课表视图 5. **管理员端 - 课程管理** - 课程详情/创建/更新/删除 - 课程审批流程 ### P1 - 重要功能缺失(优先实现) 1. **学校端 - 排课模板** - 模板列表/详情/创建/更新/删除 - 应用排课模板 2. **学校端 - 统计接口** - 任务统计(总数、按类型、按班级、月度) 3. **教师端 - 成长档案** - 成长记录列表/创建/详情/更新/删除 4. **学校端 - 通知管理** - 通知列表/创建/详情/更新/删除 - 标记已读/未读计数 ### P2 - 辅助功能缺失(后续实现) 1. **学校端 - 导出功能** - 导出学生/教师/课时/成长记录数据 2. **学校端 - 操作日志** - 日志列表/统计 3. **教师端 - 反馈管理** - 反馈列表/统计 4. **管理员端 - 统计增强** - 活跃租户/课时趋势/热门课程/最近活动 --- ## 实施建议 ### 阶段一:补充 P0 核心功能 1. **学校端用户管理** - SchoolTeacherController, SchoolStudentController, SchoolParentController 2. **学校端任务管理** - SchoolTaskController 补充 3. **教师端课表管理** - TeacherScheduleController 补充 4. **管理员端课程管理** - AdminCourseController 补充 ### 阶段二:补充 P1 重要功能 1. **学校端排课模板** - SchoolScheduleController 补充模板相关接口 2. **学校端统计接口** - SchoolStatsController 补充 3. **教师端成长档案** - TeacherGrowthController 补充 4. **学校端通知管理** - SchoolNotificationController 补充 ### 阶段三:补充 P2 辅助功能 1. **学校端导出功能** - SchoolExportController 补充 2. **学校端操作日志** - SchoolOperationLogController 补充 3. **管理员端统计增强** - AdminStatsController 补充 --- ## api-spec.yml 状态 前端 `api-spec.yml` 文件中已定义了约 **120+** 个接口路径,但新后端目前只实现了约 **60** 个接口。 需要补充的接口数量约 **74** 个,按优先级分布: - P0(高优先级): 约 30 个 - P1(中优先级): 约 25 个 - P2(低优先级): 约 19 个 --- ## 下一步行动 1. **立即开始** - 补充 P0 核心功能接口 2. **本周内** - 补充 P1 重要功能接口 3. **下周** - 补充 P2 辅助功能接口 4. **完成后** - 从新后端导出 OpenAPI 规范,更新前端 API 客户端 --- ## 附录:新旧后端 Controller 文件对比 ### 新后端 Controller 列表 ``` controller/ ├── admin/ │ ├── AdminCourseController.java │ ├── AdminCourseLessonController.java │ ├── AdminCoursePackageController.java │ ├── AdminOperationLogController.java │ ├── AdminResourceController.java │ ├── AdminSettingsController.java │ ├── AdminStatsController.java │ ├── AdminTenantController.java │ └── AdminThemeController.java ├── parent/ │ ├── ParentChildController.java │ ├── ParentGrowthController.java │ ├── ParentNotificationController.java │ └── ParentTaskController.java ├── school/ │ ├── SchoolClassController.java │ ├── SchoolCourseController.java │ ├── SchoolCoursePackageController.java │ ├── SchoolExportController.java │ ├── SchoolGrowthController.java │ ├── SchoolNotificationController.java │ ├── SchoolOperationLogController.java │ ├── SchoolParentController.java │ ├── SchoolScheduleController.java │ ├── SchoolSettingsController.java │ ├── SchoolStudentController.java │ ├── SchoolTaskController.java │ ├── SchoolTeacherController.java │ └── SchoolStatsController.java ├── teacher/ │ ├── TeacherCourseController.java │ ├── TeacherCourseLessonController.java │ ├── TeacherDashboardController.java │ ├── TeacherGrowthController.java │ ├── TeacherLessonController.java │ ├── TeacherNotificationController.java │ ├── TeacherScheduleController.java │ ├── TeacherSchoolCourseController.java │ └── TeacherTaskController.java ├── AuthController.java └── FileUploadController.java ``` ### 旧后端 Controller 列表 ``` modules/ ├── admin/ │ ├── admin-settings.controller.ts │ ├── admin-stats.controller.ts │ ├── admin-tenant.controller.ts │ ├── admin-course.controller.ts │ ├── admin-course-package.controller.ts │ ├── admin-resource.controller.ts │ └── admin-theme.controller.ts ├── auth/ │ └── auth.controller.ts ├── common/ │ └── operation-log.controller.ts ├── course/ │ └── course.controller.ts ├── course-lesson/ │ └── course-lesson.controller.ts ├── course-package/ │ └── course-package.controller.ts ├── export/ │ └── export.controller.ts ├── file-upload/ │ └── file-upload.controller.ts ├── growth/ │ └── growth.controller.ts ├── lesson/ │ └── lesson.controller.ts ├── notification/ │ └── notification.controller.ts ├── parent/ │ └── parent.controller.ts ├── resource/ │ └── resource.controller.ts ├── school/ │ ├── school.controller.ts (学校管理员主控制器) │ ├── school-course.controller.ts │ ├── school-settings.controller.ts │ ├── school-stats.controller.ts │ ├── export.controller.ts │ └── package.controller.ts ├── task/ │ └── task.controller.ts ├── teacher-course/ │ └── teacher-course.controller.ts ├── tenant/ │ └── tenant.controller.ts └── theme/ └── theme.controller.ts ```