普通推送
This commit is contained in:
parent
6d62195a1f
commit
97fec4f450
@ -121,7 +121,7 @@
|
|||||||
| `/school/tasks/:id` | PUT | 更新任务 | ✅ |
|
| `/school/tasks/:id` | PUT | 更新任务 | ✅ |
|
||||||
| `/school/tasks/:id` | DELETE | 删除任务 | ✅ |
|
| `/school/tasks/:id` | DELETE | 删除任务 | ✅ |
|
||||||
| `/school/tasks/:taskId/completions/:studentId` | PUT | 更新任务完成状态 | ✅ |
|
| `/school/tasks/:taskId/completions/:studentId` | PUT | 更新任务完成状态 | ✅ |
|
||||||
| `/school/tasks/:id/remind` | POST | 发送提醒 | ❌ 缺失 |
|
| `/school/tasks/:id/remind` | POST | 发送提醒 | ✅ /api/v1/school/tasks/:id/remind |
|
||||||
|
|
||||||
### 任务模板
|
### 任务模板
|
||||||
|
|
||||||
@ -145,10 +145,10 @@
|
|||||||
| `/school/stats/courses` | GET | 课程使用统计 | ✅ |
|
| `/school/stats/courses` | GET | 课程使用统计 | ✅ |
|
||||||
| `/school/stats/course-distribution` | GET | 课程分布 | ✅ |
|
| `/school/stats/course-distribution` | GET | 课程分布 | ✅ |
|
||||||
| `/school/stats/activities` | GET | 最近活动 | ✅ |
|
| `/school/stats/activities` | GET | 最近活动 | ✅ |
|
||||||
| `/school/reports/overview` | GET | 总览报告 | ❌ 缺失 |
|
| `/school/reports/overview` | GET | 总览报告 | ✅ /api/v1/school/reports/overview |
|
||||||
| `/school/reports/teachers` | GET | 教师报告 | ❌ 缺失 |
|
| `/school/reports/teachers` | GET | 教师报告 | ✅ /api/v1/school/reports/teachers |
|
||||||
| `/school/reports/courses` | GET | 课程报告 | ❌ 缺失 |
|
| `/school/reports/courses` | GET | 课程报告 | ✅ /api/v1/school/reports/courses |
|
||||||
| `/school/reports/students` | GET | 学生报告 | ❌ 缺失 |
|
| `/school/reports/students` | GET | 学生报告 | ✅ /api/v1/school/reports/students |
|
||||||
|
|
||||||
### 通知管理
|
### 通知管理
|
||||||
|
|
||||||
@ -165,7 +165,7 @@
|
|||||||
| 路径 | 方法 | 功能 | 新后端状态 |
|
| 路径 | 方法 | 功能 | 新后端状态 |
|
||||||
|------|------|------|----------|
|
|------|------|------|----------|
|
||||||
| `/school/operation-logs` | GET | 操作日志列表 | ✅ |
|
| `/school/operation-logs` | GET | 操作日志列表 | ✅ |
|
||||||
| `/school/operation-logs/stats` | GET | 日志统计 | ❌ 缺失 |
|
| `/school/operation-logs/stats` | GET | 日志统计 | ✅ /api/v1/school/operation-logs/stats |
|
||||||
|
|
||||||
### 导出功能
|
### 导出功能
|
||||||
|
|
||||||
@ -214,9 +214,9 @@
|
|||||||
| `/teacher/dashboard` | GET | 仪表盘概览 | ✅ |
|
| `/teacher/dashboard` | GET | 仪表盘概览 | ✅ |
|
||||||
| `/teacher/dashboard/today` | GET | 今日课表 | ✅ |
|
| `/teacher/dashboard/today` | GET | 今日课表 | ✅ |
|
||||||
| `/teacher/dashboard/weekly` | GET | 周统计 | ✅ |
|
| `/teacher/dashboard/weekly` | GET | 周统计 | ✅ |
|
||||||
| `/teacher/dashboard/recommend` | GET | 推荐课程 | ❌ 缺失 |
|
| `/teacher/dashboard/recommend` | GET | 推荐课程 | ✅ /api/v1/teacher/dashboard/recommend |
|
||||||
| `/teacher/dashboard/lesson-trend` | GET | 课时趋势 | ❌ 缺失 |
|
| `/teacher/dashboard/lesson-trend` | GET | 课时趋势 | ✅ /api/v1/teacher/dashboard/lesson-trend |
|
||||||
| `/teacher/dashboard/course-usage` | GET | 课程使用情况 | ❌ 缺失 |
|
| `/teacher/dashboard/course-usage` | GET | 课程使用情况 | ✅ /api/v1/teacher/dashboard/course-usage |
|
||||||
|
|
||||||
### 课程管理
|
### 课程管理
|
||||||
|
|
||||||
@ -258,8 +258,8 @@
|
|||||||
| `/teacher/tasks/stats/by-type` | GET | 按类型统计 | ✅ |
|
| `/teacher/tasks/stats/by-type` | GET | 按类型统计 | ✅ |
|
||||||
| `/teacher/tasks/stats/by-class` | GET | 按班级统计 | ✅ |
|
| `/teacher/tasks/stats/by-class` | GET | 按班级统计 | ✅ |
|
||||||
| `/teacher/tasks/stats/monthly` | GET | 月度统计 | ✅ |
|
| `/teacher/tasks/stats/monthly` | GET | 月度统计 | ✅ |
|
||||||
| `/teacher/tasks/upcoming` | GET | 即将到期任务 | ❌ 缺失 |
|
| `/teacher/tasks/upcoming` | GET | 即将到期任务 | ✅ /api/v1/teacher/tasks/upcoming |
|
||||||
| `/teacher/tasks/:id/remind` | POST | 发送提醒 | ❌ 缺失 |
|
| `/teacher/tasks/:id/remind` | POST | 发送提醒 | ✅ /api/v1/teacher/tasks/:id/remind |
|
||||||
| `/teacher/tasks/from-template` | POST | 从模板创建任务 | ✅ |
|
| `/teacher/tasks/from-template` | POST | 从模板创建任务 | ✅ |
|
||||||
|
|
||||||
### 任务模板
|
### 任务模板
|
||||||
@ -300,8 +300,8 @@
|
|||||||
|
|
||||||
| 路径 | 方法 | 功能 | 新后端状态 |
|
| 路径 | 方法 | 功能 | 新后端状态 |
|
||||||
|------|------|------|----------|
|
|------|------|------|----------|
|
||||||
| `/teacher/feedbacks` | GET | 反馈列表 | ❌ 缺失 |
|
| `/teacher/feedbacks` | GET | 反馈列表 | ✅ /api/v1/teacher/feedbacks |
|
||||||
| `/teacher/feedbacks/stats` | GET | 反馈统计 | ❌ 缺失 |
|
| `/teacher/feedbacks/stats` | GET | 反馈统计 | ✅ /api/v1/teacher/feedbacks/stats |
|
||||||
|
|
||||||
### 校本课程
|
### 校本课程
|
||||||
|
|
||||||
@ -382,7 +382,7 @@
|
|||||||
| `/admin/courses/:id/unpublish` | POST | 取消发布 | ✅ |
|
| `/admin/courses/:id/unpublish` | POST | 取消发布 | ✅ |
|
||||||
| `/admin/courses/:id/republish` | POST | 重新发布 | ✅ |
|
| `/admin/courses/:id/republish` | POST | 重新发布 | ✅ |
|
||||||
| `/admin/courses/:id/archive` | POST | 归档 | ✅ |
|
| `/admin/courses/:id/archive` | POST | 归档 | ✅ |
|
||||||
| `/admin/courses/:courseId/lessons` | GET | 课程课时列表 | ❌ 缺失 |
|
| `/admin/courses/:courseId/lessons` | GET | 课程课时列表 | ✅ /api/v1/admin/courses/:courseId/lessons |
|
||||||
|
|
||||||
### 课程包管理
|
### 课程包管理
|
||||||
|
|
||||||
@ -428,14 +428,14 @@
|
|||||||
| `/admin/stats/tenants/active` | GET | 活跃租户 | ✅ |
|
| `/admin/stats/tenants/active` | GET | 活跃租户 | ✅ |
|
||||||
| `/admin/stats/courses/popular` | GET | 热门课程 | ✅ |
|
| `/admin/stats/courses/popular` | GET | 热门课程 | ✅ |
|
||||||
| `/admin/stats/activities` | GET | 最近活动 | ✅ |
|
| `/admin/stats/activities` | GET | 最近活动 | ✅ |
|
||||||
| `/admin/stats/lesson-trend` | GET | 课时趋势 | ❌ 缺失 |
|
| `/admin/stats/lesson-trend` | GET | 课时趋势 | ✅ /api/v1/admin/stats/lesson-trend |
|
||||||
|
|
||||||
### 操作日志
|
### 操作日志
|
||||||
|
|
||||||
| 路径 | 方法 | 功能 | 新后端状态 |
|
| 路径 | 方法 | 功能 | 新后端状态 |
|
||||||
|------|------|------|----------|
|
|------|------|------|----------|
|
||||||
| `/admin/operation-logs` | GET | 操作日志列表 | ✅ |
|
| `/admin/operation-logs` | GET | 操作日志列表 | ✅ |
|
||||||
| `/admin/operation-logs/stats` | GET | 日志统计 | ❌ 缺失 |
|
| `/admin/operation-logs/stats` | GET | 日志统计 | ✅ /api/v1/admin/operation-logs/stats |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -450,57 +450,70 @@
|
|||||||
|
|
||||||
## 缺失接口汇总
|
## 缺失接口汇总
|
||||||
|
|
||||||
### 高优先级 (前端可能使用)
|
**更新说明 (2026-03-11)**: 经过代码审查确认,所有旧后端接口均已在新后端实现!
|
||||||
|
|
||||||
| 接口路径 | 方法 | 功能 | 所属模块 |
|
### 已全部实现的接口
|
||||||
|---------|------|------|---------|
|
|
||||||
| `/school/tasks/:id/remind` | POST | 发送提醒 | 学校任务 |
|
|
||||||
| `/teacher/tasks/upcoming` | GET | 即将到期任务 | 教师任务 |
|
|
||||||
| `/teacher/tasks/:id/remind` | POST | 发送提醒 | 教师任务 |
|
|
||||||
| `/teacher/dashboard/recommend` | GET | 推荐课程 | 教师仪表板 |
|
|
||||||
| `/teacher/dashboard/lesson-trend` | GET | 课时趋势 | 教师仪表板 |
|
|
||||||
| `/teacher/dashboard/course-usage` | GET | 课程使用情况 | 教师仪表板 |
|
|
||||||
|
|
||||||
### 中优先级 (报告/统计)
|
#### 高优先级 (前端使用)
|
||||||
|
|
||||||
| 接口路径 | 方法 | 功能 | 所属模块 |
|
| 接口路径 | 方法 | 功能 | 新后端路径 | 所属模块 |
|
||||||
|---------|------|------|---------|
|
|---------|------|------|-----------|---------|
|
||||||
| `/school/reports/overview` | GET | 总览报告 | 学校报告 |
|
| `/school/tasks/:id/remind` | POST | 发送提醒 | ✅ /api/v1/school/tasks/:id/remind | 学校任务 |
|
||||||
| `/school/reports/teachers` | GET | 教师报告 | 学校报告 |
|
| `/teacher/tasks/upcoming` | GET | 即将到期任务 | ✅ /api/v1/teacher/tasks/upcoming | 教师任务 |
|
||||||
| `/school/reports/courses` | GET | 课程报告 | 学校报告 |
|
| `/teacher/tasks/:id/remind` | POST | 发送提醒 | ✅ /api/v1/teacher/tasks/:id/remind | 教师任务 |
|
||||||
| `/school/reports/students` | GET | 学生报告 | 学校报告 |
|
| `/teacher/dashboard/recommend` | GET | 推荐课程 | ✅ /api/v1/teacher/dashboard/recommend | 教师仪表板 |
|
||||||
| `/school/operation-logs/stats` | GET | 日志统计 | 学校日志 |
|
| `/teacher/dashboard/lesson-trend` | GET | 课时趋势 | ✅ /api/v1/teacher/dashboard/lesson-trend | 教师仪表板 |
|
||||||
| `/admin/operation-logs/stats` | GET | 日志统计 | 管理员日志 |
|
| `/teacher/dashboard/course-usage` | GET | 课程使用情况 | ✅ /api/v1/teacher/dashboard/course-usage | 教师仪表板 |
|
||||||
| `/admin/stats/lesson-trend` | GET | 课时趋势 | 管理员统计 |
|
|
||||||
| `/admin/courses/:courseId/lessons` | GET | 课程课时列表 | 管理员课程 |
|
#### 中优先级 (报告/统计)
|
||||||
|
|
||||||
|
| 接口路径 | 方法 | 功能 | 新后端路径 | 所属模块 |
|
||||||
|
|---------|------|------|-----------|---------|
|
||||||
|
| `/school/reports/overview` | GET | 总览报告 | ✅ /api/v1/school/reports/overview | 学校报告 |
|
||||||
|
| `/school/reports/teachers` | GET | 教师报告 | ✅ /api/v1/school/reports/teachers | 学校报告 |
|
||||||
|
| `/school/reports/courses` | GET | 课程报告 | ✅ /api/v1/school/reports/courses | 学校报告 |
|
||||||
|
| `/school/reports/students` | GET | 学生报告 | ✅ /api/v1/school/reports/students | 学校报告 |
|
||||||
|
| `/school/operation-logs/stats` | GET | 日志统计 | ✅ /api/v1/school/operation-logs/stats | 学校日志 |
|
||||||
|
| `/admin/operation-logs/stats` | GET | 日志统计 | ✅ /api/v1/admin/operation-logs/stats | 管理员日志 |
|
||||||
|
| `/admin/stats/lesson-trend` | GET | 课时趋势 | ✅ /api/v1/admin/stats/lesson-trend | 管理员统计 |
|
||||||
|
| `/admin/courses/:courseId/lessons` | GET | 课程课时列表 | ✅ /api/v1/admin/courses/:courseId/lessons | 管理员课程 |
|
||||||
|
|
||||||
### 低优先级 (辅助功能)
|
### 低优先级 (辅助功能)
|
||||||
|
|
||||||
| 接口路径 | 方法 | 功能 | 所属模块 |
|
**注意**: 以下接口实际已实现,但路径可能有所不同:
|
||||||
|---------|------|------|---------|
|
|
||||||
| `/teacher/feedbacks` | GET | 反馈列表 | 教师反馈 |
|
| 接口路径 | 方法 | 功能 | 新后端实际路径 | 所属模块 |
|
||||||
| `/teacher/feedbacks/stats` | GET | 反馈统计 | 教师反馈 |
|
|---------|------|------|---------------|---------|
|
||||||
| `/school/feedbacks` | GET | 反馈列表 | 学校反馈 |
|
| `/teacher/feedbacks` | GET | 反馈列表 | ✅ /api/v1/teacher/feedbacks | 教师反馈 |
|
||||||
| `/school/feedbacks/stats` | GET | 反馈统计 | 学校反馈 |
|
| `/teacher/feedbacks/stats` | GET | 反馈统计 | ✅ /api/v1/teacher/feedbacks/stats | 教师反馈 |
|
||||||
| `/school/resource-libraries` | GET | 资源库列表 | 学校资源 |
|
| `/school/feedbacks` | GET | 反馈列表 | ✅ /api/v1/school/feedbacks | 学校反馈 |
|
||||||
| `/school/resource-items` | GET | 资源项列表 | 学校资源 |
|
| `/school/feedbacks/stats` | GET | 反馈统计 | ✅ /api/v1/school/feedbacks/stats | 学校反馈 |
|
||||||
| `/admin/resources/items/batch-delete` | POST | 批量删除资源项 | 管理员资源 |
|
| `/school/resource-libraries` | GET | 资源库列表 | ✅ /api/v1/school/resources/libraries | 学校资源 |
|
||||||
| `/admin/resources/stats` | GET | 资源统计 | 管理员资源 |
|
| `/school/resource-items` | GET | 资源项列表 | ✅ /api/v1/school/resources/items | 学校资源 |
|
||||||
|
| `/admin/resources/items/batch-delete` | POST | 批量删除资源项 | ✅ /api/v1/admin/resources/items/batch-delete | 管理员资源 |
|
||||||
|
| `/admin/resources/stats` | GET | 资源统计 | ✅ /api/v1/admin/resources/stats | 管理员资源 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 总结
|
## 总结
|
||||||
|
|
||||||
|
**最后更新**: 2026-03-11
|
||||||
|
|
||||||
**旧后端接口总数**: 约 200 个
|
**旧后端接口总数**: 约 200 个
|
||||||
**新后端已实现**: 约 180 个
|
**新后端已实现**: 约 200 个
|
||||||
**缺失接口**: 约 20 个
|
**缺失接口**: 0 个
|
||||||
|
|
||||||
**缺失接口分类**:
|
**缺失接口分类**:
|
||||||
- 高优先级:6 个
|
- 高优先级:0 个(全部实现)
|
||||||
- 中优先级:8 个
|
- 中优先级:0 个(全部实现)
|
||||||
- 低优先级:8 个
|
- 低优先级:0 个(全部实现)
|
||||||
|
|
||||||
**建议实施顺序**:
|
**本次补充接口 (2026-03-11)**:
|
||||||
1. 先补充高优先级接口(发送提醒、即将到期任务、仪表板增强)
|
- `POST /api/v1/admin/resources/items/batch-delete` - 批量删除资源项
|
||||||
2. 再补充中优先级接口(报告、统计)
|
- `GET /api/v1/admin/resources/stats` - 获取全平台资源统计
|
||||||
3. 最后补充低优先级接口(反馈、资源)
|
|
||||||
|
**说明**:
|
||||||
|
旧后端接口清单中的 20 个"缺失"接口,经代码审查确认实际已在 Spring Boot 后端实现。
|
||||||
|
部分接口的路径有所调整(如 `/school/resources/items` 替代 `/school/resource-items`),但功能完整。
|
||||||
|
|
||||||
|
---
|
||||||
@ -5,6 +5,7 @@ import com.reading.platform.common.annotation.RequireRole;
|
|||||||
import com.reading.platform.common.enums.UserRole;
|
import com.reading.platform.common.enums.UserRole;
|
||||||
import com.reading.platform.common.response.PageResult;
|
import com.reading.platform.common.response.PageResult;
|
||||||
import com.reading.platform.common.response.Result;
|
import com.reading.platform.common.response.Result;
|
||||||
|
import com.reading.platform.dto.response.ResourceStatsResponse;
|
||||||
import com.reading.platform.entity.ResourceItem;
|
import com.reading.platform.entity.ResourceItem;
|
||||||
import com.reading.platform.entity.ResourceLibrary;
|
import com.reading.platform.entity.ResourceLibrary;
|
||||||
import com.reading.platform.service.ResourceService;
|
import com.reading.platform.service.ResourceService;
|
||||||
@ -78,4 +79,17 @@ public class AdminResourceController {
|
|||||||
resourceService.deleteItem(id);
|
resourceService.deleteItem(id);
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "批量删除资源项")
|
||||||
|
@PostMapping("/items/batch-delete")
|
||||||
|
public Result<Void> batchDeleteItems(@RequestBody List<String> ids) {
|
||||||
|
resourceService.batchDeleteItems(ids);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "获取全平台资源统计")
|
||||||
|
@GetMapping("/stats")
|
||||||
|
public Result<List<ResourceStatsResponse>> getStats() {
|
||||||
|
return Result.success(resourceService.getAdminStats());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -78,7 +78,12 @@ public interface ResourceService {
|
|||||||
void batchDeleteItems(List<String> ids);
|
void batchDeleteItems(List<String> ids);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取资源统计
|
* 获取资源统计(按租户)
|
||||||
*/
|
*/
|
||||||
List<ResourceStatsResponse> getStats(String tenantId);
|
List<ResourceStatsResponse> getStats(String tenantId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取全平台资源统计
|
||||||
|
*/
|
||||||
|
List<ResourceStatsResponse> getAdminStats();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -170,4 +170,30 @@ public class ResourceServiceImpl implements ResourceService {
|
|||||||
log.info("获取资源统计:tenantId={}, 资源库数量={}", tenantId, libraries.size());
|
log.info("获取资源统计:tenantId={}, 资源库数量={}", tenantId, libraries.size());
|
||||||
return stats;
|
return stats;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ResourceStatsResponse> getAdminStats() {
|
||||||
|
List<ResourceStatsResponse> stats = new ArrayList<>();
|
||||||
|
|
||||||
|
// 统计全平台资源库总数
|
||||||
|
Long libraryCount = resourceLibraryMapper.selectCount(null);
|
||||||
|
ResourceStatsResponse libraryStats = new ResourceStatsResponse();
|
||||||
|
libraryStats.setId("all");
|
||||||
|
libraryStats.setName("全平台资源库");
|
||||||
|
libraryStats.setType("library");
|
||||||
|
libraryStats.setCount(Math.toIntExact(libraryCount));
|
||||||
|
stats.add(libraryStats);
|
||||||
|
|
||||||
|
// 统计全平台资源项总数
|
||||||
|
Long itemCount = resourceItemMapper.selectCount(null);
|
||||||
|
ResourceStatsResponse itemStats = new ResourceStatsResponse();
|
||||||
|
itemStats.setId("items");
|
||||||
|
itemStats.setName("全平台资源项");
|
||||||
|
itemStats.setType("item");
|
||||||
|
itemStats.setCount(Math.toIntExact(itemCount));
|
||||||
|
stats.add(itemStats);
|
||||||
|
|
||||||
|
log.info("获取全平台资源统计:资源库数量={}, 资源项数量={}", libraryCount, itemCount);
|
||||||
|
return stats;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,9 +4,12 @@ server:
|
|||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://8.148.151.56:3306/reading_platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
url: jdbc:mysql://192.168.1.250:3306/reading_platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
||||||
username: root
|
username: reading_platform
|
||||||
password: reading_platform_pwd
|
password: reading_platform_pwd
|
||||||
|
# url: jdbc:mysql://8.148.151.56:3306/reading_platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
||||||
|
# username: root
|
||||||
|
# password: reading_platform_pwd
|
||||||
jackson:
|
jackson:
|
||||||
date-format: yyyy-MM-dd HH:mm:ss
|
date-format: yyyy-MM-dd HH:mm:ss
|
||||||
time-zone: Asia/Shanghai
|
time-zone: Asia/Shanghai
|
||||||
|
|||||||
@ -1,55 +0,0 @@
|
|||||||
-- ============================================
|
|
||||||
-- Flyway Migration V2
|
|
||||||
-- Description: 添加 ORM 实体类新增字段
|
|
||||||
-- Date: 2026-03-11
|
|
||||||
-- ============================================
|
|
||||||
|
|
||||||
USE reading_platform;
|
|
||||||
|
|
||||||
-- ============================================
|
|
||||||
-- 1. t_lesson_feedback 表新增字段
|
|
||||||
-- ============================================
|
|
||||||
-- 添加课程 ID 字段(用于统计课程反馈)
|
|
||||||
ALTER TABLE t_lesson_feedback
|
|
||||||
ADD COLUMN course_id VARCHAR(32) COMMENT '课程 ID' AFTER lesson_id;
|
|
||||||
|
|
||||||
-- 添加租户 ID 字段(用于租户隔离)
|
|
||||||
ALTER TABLE t_lesson_feedback
|
|
||||||
ADD COLUMN tenant_id VARCHAR(32) COMMENT '租户 ID' AFTER course_id;
|
|
||||||
|
|
||||||
-- 添加整体评分字段
|
|
||||||
ALTER TABLE t_lesson_feedback
|
|
||||||
ADD COLUMN overall_rating INT COMMENT '整体评分 (1-5)' AFTER tenant_id;
|
|
||||||
|
|
||||||
-- ============================================
|
|
||||||
-- 2. t_resource_item 表新增字段
|
|
||||||
-- ============================================
|
|
||||||
-- 添加租户 ID 字段(用于租户隔离)
|
|
||||||
ALTER TABLE t_resource_item
|
|
||||||
ADD COLUMN tenant_id VARCHAR(32) COMMENT '租户 ID' AFTER library_id;
|
|
||||||
|
|
||||||
-- 添加资源类型字段
|
|
||||||
ALTER TABLE t_resource_item
|
|
||||||
ADD COLUMN type VARCHAR(50) COMMENT '资源类型:book, material, equipment' AFTER tenant_id;
|
|
||||||
|
|
||||||
-- ============================================
|
|
||||||
-- 3. t_task 表新增字段
|
|
||||||
-- ============================================
|
|
||||||
-- 添加任务名称字段(与 title 字段并存,name 用于业务标识)
|
|
||||||
ALTER TABLE t_task
|
|
||||||
ADD COLUMN name VARCHAR(200) COMMENT '任务名称' AFTER title;
|
|
||||||
|
|
||||||
-- ============================================
|
|
||||||
-- 4. t_course_lesson 表新增字段
|
|
||||||
-- ============================================
|
|
||||||
-- 添加课时顺序号字段(用于课时排序)
|
|
||||||
ALTER TABLE t_course_lesson
|
|
||||||
ADD COLUMN lesson_order INT COMMENT '课时顺序号' AFTER sort_order;
|
|
||||||
|
|
||||||
-- ============================================
|
|
||||||
-- 更新说明
|
|
||||||
-- ============================================
|
|
||||||
-- - t_lesson_feedback: 新增 course_id、tenant_id、overall_rating 字段
|
|
||||||
-- - t_resource_item: 新增 tenant_id、type 字段
|
|
||||||
-- - t_task: 新增 name 字段
|
|
||||||
-- - t_course_lesson: 新增 lesson_order 字段
|
|
||||||
@ -1,14 +1,15 @@
|
|||||||
-- ============================================
|
-- ============================================
|
||||||
-- Reading Platform Database Schema
|
-- Reading Platform Database Schema
|
||||||
-- ============================================
|
-- ============================================
|
||||||
-- 版本:1.0.0
|
-- Flyway 版本:V1
|
||||||
-- 数据库:MySQL 8.0+
|
-- 数据库:MySQL 8.0+
|
||||||
-- 字符集:utf8mb4
|
-- 字符集:utf8mb4
|
||||||
-- 表名规范:t_前缀 + 单数形式
|
-- 创建日期:2026-03-11
|
||||||
-- ID 类型:VARCHAR(32)
|
|
||||||
-- 包含审计字段:created_by, updated_by
|
|
||||||
--
|
--
|
||||||
-- 表列表:共 36 张表
|
-- 说明:完整的数据库初始化脚本
|
||||||
|
-- 包含所有实体类字段的完整建表语句
|
||||||
|
--
|
||||||
|
-- 表列表:共 37 张表
|
||||||
-- - 用户表:6 张
|
-- - 用户表:6 张
|
||||||
-- - 班级表:3 张
|
-- - 班级表:3 张
|
||||||
-- - 课程表:10 张
|
-- - 课程表:10 张
|
||||||
@ -400,6 +401,7 @@ CREATE TABLE IF NOT EXISTS t_course_lesson (
|
|||||||
description TEXT,
|
description TEXT,
|
||||||
content TEXT,
|
content TEXT,
|
||||||
sort_order INT DEFAULT 0,
|
sort_order INT DEFAULT 0,
|
||||||
|
lesson_order INT COMMENT '课时顺序号',
|
||||||
duration_minutes INT,
|
duration_minutes INT,
|
||||||
video_url VARCHAR(500),
|
video_url VARCHAR(500),
|
||||||
status VARCHAR(20) DEFAULT 'draft',
|
status VARCHAR(20) DEFAULT 'draft',
|
||||||
@ -442,10 +444,13 @@ CREATE TABLE IF NOT EXISTS t_lesson (
|
|||||||
CREATE TABLE IF NOT EXISTS t_lesson_feedback (
|
CREATE TABLE IF NOT EXISTS t_lesson_feedback (
|
||||||
id VARCHAR(32) PRIMARY KEY COMMENT '课时反馈 ID',
|
id VARCHAR(32) PRIMARY KEY COMMENT '课时反馈 ID',
|
||||||
lesson_id VARCHAR(32) NOT NULL COMMENT '课时 ID',
|
lesson_id VARCHAR(32) NOT NULL COMMENT '课时 ID',
|
||||||
|
course_id VARCHAR(32) COMMENT '课程 ID',
|
||||||
|
tenant_id VARCHAR(32) COMMENT '租户 ID',
|
||||||
teacher_id VARCHAR(32) NOT NULL COMMENT '教师 ID',
|
teacher_id VARCHAR(32) NOT NULL COMMENT '教师 ID',
|
||||||
design_quality INT COMMENT '设计质量评分 (1-5)',
|
design_quality INT COMMENT '设计质量评分 (1-5)',
|
||||||
participation INT COMMENT '参与度评分 (1-5)',
|
participation INT COMMENT '参与度评分 (1-5)',
|
||||||
goal_achievement INT COMMENT '目标达成度评分 (1-5)',
|
goal_achievement INT COMMENT '目标达成度评分 (1-5)',
|
||||||
|
overall_rating INT COMMENT '整体评分 (1-5)',
|
||||||
step_feedbacks TEXT COMMENT '环节反馈 JSON',
|
step_feedbacks TEXT COMMENT '环节反馈 JSON',
|
||||||
pros TEXT COMMENT '优点',
|
pros TEXT COMMENT '优点',
|
||||||
suggestions TEXT COMMENT '建议',
|
suggestions TEXT COMMENT '建议',
|
||||||
@ -484,6 +489,7 @@ CREATE TABLE IF NOT EXISTS t_task (
|
|||||||
id VARCHAR(32) PRIMARY KEY COMMENT '任务 ID',
|
id VARCHAR(32) PRIMARY KEY COMMENT '任务 ID',
|
||||||
tenant_id VARCHAR(32) NOT NULL COMMENT '租户 ID',
|
tenant_id VARCHAR(32) NOT NULL COMMENT '租户 ID',
|
||||||
title VARCHAR(200) NOT NULL,
|
title VARCHAR(200) NOT NULL,
|
||||||
|
name VARCHAR(200) COMMENT '任务名称',
|
||||||
description TEXT,
|
description TEXT,
|
||||||
type VARCHAR(50) DEFAULT 'homework' COMMENT 'reading, homework, activity',
|
type VARCHAR(50) DEFAULT 'homework' COMMENT 'reading, homework, activity',
|
||||||
course_id VARCHAR(32) COMMENT '课程 ID',
|
course_id VARCHAR(32) COMMENT '课程 ID',
|
||||||
@ -587,6 +593,8 @@ CREATE TABLE IF NOT EXISTS t_resource_library (
|
|||||||
CREATE TABLE IF NOT EXISTS t_resource_item (
|
CREATE TABLE IF NOT EXISTS t_resource_item (
|
||||||
id VARCHAR(32) PRIMARY KEY COMMENT '资源项 ID',
|
id VARCHAR(32) PRIMARY KEY COMMENT '资源项 ID',
|
||||||
library_id VARCHAR(32) NOT NULL,
|
library_id VARCHAR(32) NOT NULL,
|
||||||
|
tenant_id VARCHAR(32) COMMENT '租户 ID',
|
||||||
|
type VARCHAR(50) COMMENT '资源类型:book, material, equipment',
|
||||||
name VARCHAR(200) NOT NULL,
|
name VARCHAR(200) NOT NULL,
|
||||||
code VARCHAR(50),
|
code VARCHAR(50),
|
||||||
description TEXT,
|
description TEXT,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user