59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
|
|
# 套餐和课程数据前端显示问题修复
|
||
|
|
|
||
|
|
## 问题描述
|
||
|
|
数据库中有很多套餐和课程包数据,但超管端、学校端、老师端页面上没有显示数据。接口有返回数据,但前端无法正确解析显示。
|
||
|
|
|
||
|
|
## 问题原因
|
||
|
|
1. **字段格式不匹配**:后端 `gradeLevels` 存储的是逗号分隔字符串,前端期望数组格式
|
||
|
|
2. **数据结构不匹配**:学校端期望的数据结构与后端返回不一致
|
||
|
|
|
||
|
|
## 修复内容
|
||
|
|
|
||
|
|
### 后端修改
|
||
|
|
|
||
|
|
#### 1. CoursePackageResponse.java
|
||
|
|
- `gradeLevels`: `String` → `String[]`
|
||
|
|
- 新增 `courses` 字段(包含的课程列表)
|
||
|
|
- 新增 `startDate`、`endDate` 字段(租户套餐信息)
|
||
|
|
|
||
|
|
#### 2. CoursePackageService.java
|
||
|
|
- `toResponse()`: 添加 `gradeLevels` 转换和 `courses` 填充逻辑
|
||
|
|
- `findTenantPackages()`: 返回 `CoursePackageResponse` 列表,包含租户套餐信息
|
||
|
|
|
||
|
|
#### 3. CoursePackageMapper.java
|
||
|
|
- 添加 MapStruct 类型转换方法处理 `String` ↔ `String[]`
|
||
|
|
|
||
|
|
#### 4. SchoolPackageController.java
|
||
|
|
- 导入 `CoursePackageResponse`
|
||
|
|
- 修改返回类型
|
||
|
|
|
||
|
|
### 前端修改
|
||
|
|
|
||
|
|
#### 1. src/views/school/PackageView.vue
|
||
|
|
- 修改数据访问路径:`item.package.xxx` → `item.xxx`
|
||
|
|
- 更新类型定义
|
||
|
|
|
||
|
|
#### 2. src/api/school.ts
|
||
|
|
- 更新 `CoursePackage` 接口定义
|
||
|
|
- 修改 API 返回类型
|
||
|
|
|
||
|
|
## 测试验证
|
||
|
|
1. 启动后端服务:`mvn spring-boot:run`
|
||
|
|
2. 启动前端服务:`npm run dev`
|
||
|
|
3. 访问超管端套餐列表页:`/admin/packages`
|
||
|
|
4. 访问学校端套餐视图页:`/school/package`
|
||
|
|
|
||
|
|
## 相关文件
|
||
|
|
- 后端:
|
||
|
|
- `reading-platform-java/src/main/java/com/reading/platform/dto/response/CoursePackageResponse.java`
|
||
|
|
- `reading-platform-java/src/main/java/com/reading/platform/service/CoursePackageService.java`
|
||
|
|
- `reading-platform-java/src/main/java/com/reading/platform/common/mapper/CoursePackageMapper.java`
|
||
|
|
- `reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolPackageController.java`
|
||
|
|
|
||
|
|
- 前端:
|
||
|
|
- `reading-platform-frontend/src/views/school/PackageView.vue`
|
||
|
|
- `reading-platform-frontend/src/api/school.ts`
|
||
|
|
|
||
|
|
## 修复日期
|
||
|
|
2026-03-14
|