feat: 套餐管理功能完整实现

前端新增:
- 套餐管理列表页 PackageListView.vue
- 套餐详情页 PackageDetailView.vue
- 套餐编辑页 PackageEditView.vue
- 套餐 API 客户端 productBundle.ts

后端新增:
- ProductBundle 实体(产品套餐)
- ProductBundleCoursePackage 实体(套餐 - 课程包关联)
- TenantProductBundle 实体(学校套餐购买记录)
- CoursePackageCourse 实体(课程包 - 课程关联)
- AdminProductBundleController(套餐管理接口)
- AdminBundleCoursePackageController(套餐课程包关联接口)
- AdminPackageCourseController(课程包课程关联接口)
- AdminTenantBundleController(学校套餐购买接口)
- 对应 Service 和 Mapper

数据库迁移:
- 添加 Flyway 迁移脚本 V20260312__create_bundle_tables.sql

代码规范:
- Service 层统一继承 IService 和 ServiceImpl
- Entity 类补充 @Schema 注解
- DTO/VO 类补充 @Schema 注解
This commit is contained in:
En 2026-03-12 10:47:03 +08:00
parent 1c1321bddd
commit 30b9cd5e05
318 changed files with 4796 additions and 731 deletions

View File

@ -6,7 +6,8 @@
"Bash(JAVA_HOME=/f/Java/jdk-17 PATH=/f/Java/jdk-17/bin:/f/apache-maven-3.8.4/bin:$PATH mvn compile:*)",
"Bash(cmd.exe:*)",
"Bash(powershell:*)",
"Bash(./mvnw.cmd:*)"
"Bash(./mvnw.cmd:*)",
"Bash(.mvnw.cmd clean:*)"
]
}
}

1
.gitignore vendored
View File

@ -53,5 +53,4 @@ reading-platform-frontend/src/components.d.ts
.gitignore
.cursor/rules/generated-api-readonly.mdc
.cursor/rules/frontend-api-orval-usage.mdc
reading-platform-frontend/src/components.d.ts
reading-platform-frontend/api-spec.yml

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

View File

@ -1,5 +1,5 @@
/**
* Generated by orval v7.21.0 🍺
* Generated by orval v7.13.2 🍺
* Do not edit manually.
* Reading Platform API
* Reading Platform Backend Service API Documentation

Some files were not shown because too many files have changed in this diff Show More