hejianhao
2026-09-01 587391ed908f11c8f8f735575bc1425346d05bb2
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveCourseController.java
@@ -2,10 +2,10 @@
import com.tcm.training.admin.common.ApiResponse;
import com.tcm.training.admin.common.PageResponse;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.tcm.training.admin.live.dto.LiveCourseStatusRequest;
import com.tcm.training.admin.live.dto.LiveCourseUpsertRequest;
import com.tcm.training.admin.live.dto.LiveCoursePasswordRequest;
import com.tcm.training.admin.live.dto.LiveCoursePasswordVerifyRequest;
import com.tcm.training.admin.live.service.LiveCourseAppService;
import com.tcm.training.admin.live.vo.LiveCourseDetailVO;
import com.tcm.training.admin.live.vo.LiveCourseListItemVO;
@@ -36,6 +36,7 @@
    }
    @GetMapping("/live-courses")
    @SaCheckPermission("live:course:view")
    public ApiResponse<PageResponse<LiveCourseListItemVO>> page(@RequestParam(required = false, defaultValue = "1") int page,
                                                                @RequestParam(required = false, defaultValue = "10") int pageSize,
                                                                @RequestParam(required = false) String keyword,
@@ -46,37 +47,39 @@
    }
    @PostMapping("/live-courses")
    @SaCheckPermission("live:course:add")
    public ApiResponse<LiveCourseDetailVO> create(@Valid @RequestBody LiveCourseUpsertRequest req) {
        return ApiResponse.ok(liveCourseAppService.create(req));
    }
    @GetMapping("/live-courses/{id}")
    @SaCheckPermission("live:course:view")
    public ApiResponse<LiveCourseDetailVO> detail(@PathVariable("id") Long id) {
        return ApiResponse.ok(liveCourseAppService.detail(id));
    }
    @PutMapping("/live-courses/{id}")
    @SaCheckPermission("live:course:edit")
    public ApiResponse<LiveCourseDetailVO> update(@PathVariable("id") Long id, @Valid @RequestBody LiveCourseUpsertRequest req) {
        return ApiResponse.ok(liveCourseAppService.update(id, req));
    }
    @PatchMapping("/live-courses/{id}/status")
    @SaCheckPermission("live:course:edit")
    public ApiResponse<LiveCourseStatusVO> patchStatus(@PathVariable("id") Long id, @Valid @RequestBody LiveCourseStatusRequest req) {
        return ApiResponse.ok(liveCourseAppService.patchStatus(id, req));
    }
    @PutMapping("/live-courses/{id}/password")
    @SaCheckPermission("live:course:edit")
    public ApiResponse<Void> updatePassword(@PathVariable("id") Long id, @RequestBody LiveCoursePasswordRequest req) {
        liveCourseAppService.updatePassword(id, req);
        return ApiResponse.ok(null);
    }
    @PostMapping("/live-courses/password/verify")
    public ApiResponse<Boolean> verifyPassword(@Valid @RequestBody LiveCoursePasswordVerifyRequest req) {
        return ApiResponse.ok(liveCourseAppService.verifyPassword(req));
    }
    @DeleteMapping("/live-courses/{id}")
    @SaCheckPermission("live:course:delete")
    public ApiResponse<Void> delete(@PathVariable("id") Long id) {
        liveCourseAppService.delete(id);
        return ApiResponse.ok(null);