fix(backend): 修复课程套餐路径和新增状态变更接口
- AdminCoursePackageController: 路径从 /admin/course-packages 改为 /admin/packages - AdminCoursePackageController: 分页参数 pageNum → page,新增 submit/review/publish/offline - CoursePackageService: 新增 submit/review/publish/offline 方法 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
01897a7ecc
commit
e700029ee7
@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Tag(name = "Admin - Course Packages", description = "Course Package Management for Admin")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/admin/course-packages")
|
||||
@RequestMapping("/api/v1/admin/packages")
|
||||
@RequiredArgsConstructor
|
||||
@RequireRole(UserRole.ADMIN)
|
||||
public class AdminCoursePackageController {
|
||||
@ -24,12 +24,12 @@ public class AdminCoursePackageController {
|
||||
@Operation(summary = "Get course packages")
|
||||
@GetMapping
|
||||
public Result<PageResult<CoursePackage>> getPackages(
|
||||
@RequestParam(defaultValue = "1") int pageNum,
|
||||
@RequestParam(value = "page", defaultValue = "1") int page,
|
||||
@RequestParam(defaultValue = "20") int pageSize,
|
||||
@RequestParam(required = false) String keyword,
|
||||
@RequestParam(required = false) String status) {
|
||||
Page<CoursePackage> page = coursePackageService.getPackages(pageNum, pageSize, keyword, status);
|
||||
return Result.success(PageResult.of(page));
|
||||
Page<CoursePackage> result = coursePackageService.getPackages(page, pageSize, keyword, status);
|
||||
return Result.success(PageResult.of(result));
|
||||
}
|
||||
|
||||
@Operation(summary = "Get course package by ID")
|
||||
@ -56,4 +56,36 @@ public class AdminCoursePackageController {
|
||||
coursePackageService.deletePackage(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "Submit package for review")
|
||||
@PostMapping("/{id}/submit")
|
||||
public Result<Void> submitPackage(@PathVariable Long id) {
|
||||
coursePackageService.submitPackage(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "Review package (approve or reject)")
|
||||
@PostMapping("/{id}/review")
|
||||
public Result<Void> reviewPackage(
|
||||
@PathVariable Long id,
|
||||
@RequestBody java.util.Map<String, Object> body) {
|
||||
boolean approved = Boolean.TRUE.equals(body.get("approved"));
|
||||
String comment = (String) body.get("comment");
|
||||
coursePackageService.reviewPackage(id, approved, comment);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "Publish package")
|
||||
@PostMapping("/{id}/publish")
|
||||
public Result<Void> publishPackage(@PathVariable Long id) {
|
||||
coursePackageService.publishPackage(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "Take package offline")
|
||||
@PostMapping("/{id}/offline")
|
||||
public Result<Void> offlinePackage(@PathVariable Long id) {
|
||||
coursePackageService.offlinePackage(id);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,4 +51,28 @@ public class CoursePackageService {
|
||||
public void deletePackage(Long id) {
|
||||
coursePackageMapper.deleteById(id);
|
||||
}
|
||||
|
||||
public void submitPackage(Long id) {
|
||||
CoursePackage pkg = getPackageById(id);
|
||||
pkg.setStatus("pending");
|
||||
coursePackageMapper.updateById(pkg);
|
||||
}
|
||||
|
||||
public void reviewPackage(Long id, boolean approved, String comment) {
|
||||
CoursePackage pkg = getPackageById(id);
|
||||
pkg.setStatus(approved ? "published" : "rejected");
|
||||
coursePackageMapper.updateById(pkg);
|
||||
}
|
||||
|
||||
public void publishPackage(Long id) {
|
||||
CoursePackage pkg = getPackageById(id);
|
||||
pkg.setStatus("published");
|
||||
coursePackageMapper.updateById(pkg);
|
||||
}
|
||||
|
||||
public void offlinePackage(Long id) {
|
||||
CoursePackage pkg = getPackageById(id);
|
||||
pkg.setStatus("archived");
|
||||
coursePackageMapper.updateById(pkg);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user