diff --git a/reading-platform-frontend/src/api/course.ts b/reading-platform-frontend/src/api/course.ts index 3fe60fb..707e9c2 100644 --- a/reading-platform-frontend/src/api/course.ts +++ b/reading-platform-frontend/src/api/course.ts @@ -1,9 +1,17 @@ import { getReadingPlatformAPI } from './generated'; -import { axios } from './generated/mutator'; +import { axios, customMutator } from './generated/mutator'; // 创建 API 实例 const api = getReadingPlatformAPI(); +// 封装 http 方法(兼容原有代码) +export const http = { + get: (url: string, config?: any) => customMutator({ url, method: 'get', ...config }), + post: (url: string, data?: any, config?: any) => customMutator({ url, method: 'post', data, ...config }), + put: (url: string, data?: any, config?: any) => customMutator({ url, method: 'put', data, ...config }), + delete: (url: string, config?: any) => customMutator({ url, method: 'delete', ...config }), +}; + // ============= 类型定义(保持向后兼容) ============= export interface CourseQueryParams { diff --git a/reading-platform-java/src/main/java/com/reading/platform/service/CourseCollectionService.java b/reading-platform-java/src/main/java/com/reading/platform/service/CourseCollectionService.java index c019b8e..751b06d 100644 --- a/reading-platform-java/src/main/java/com/reading/platform/service/CourseCollectionService.java +++ b/reading-platform-java/src/main/java/com/reading/platform/service/CourseCollectionService.java @@ -216,6 +216,23 @@ public class CourseCollectionService extends ServiceImpl packageIds) { log.info("设置课程套餐的课程包,collectionId={}, packageCount={}", collectionId, packageIds.size()); + // 验证课程套餐是否存在 + CourseCollection collection = collectionMapper.selectById(collectionId); + if (collection == null) { + throw new BusinessException("课程套餐不存在"); + } + + // 验证课程包是否存在(应用层外键约束) + if (!packageIds.isEmpty()) { + List packages = packageMapper.selectList( + new LambdaQueryWrapper() + .in(CoursePackage::getId, packageIds) + ); + if (packages.size() != packageIds.size()) { + throw new BusinessException("存在无效的课程包 ID"); + } + } + // 删除旧的关联 collectionPackageMapper.delete( new LambdaQueryWrapper() @@ -231,12 +248,9 @@ public class CourseCollectionService extends ServiceImpl