package com.tcm.training.admin.app.course.controller; import com.tcm.training.admin.app.course.vo.AppCoursePurchaseOrderDetailVO; import com.tcm.training.admin.app.course.vo.AppCoursePurchaseOrderItemVO; import com.tcm.training.admin.common.ApiResponse; import com.tcm.training.admin.common.PageResponse; import com.tcm.training.admin.live.service.CoursePurchaseOrderAppService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** * APP 购课记录接口。 */ @Validated @RestController @RequestMapping({"/api/app", "/api/v1/app"}) public class AppCoursePurchaseOrderController { private final CoursePurchaseOrderAppService coursePurchaseOrderAppService; /** * 注入 APP 购课记录服务。 */ public AppCoursePurchaseOrderController(CoursePurchaseOrderAppService coursePurchaseOrderAppService) { this.coursePurchaseOrderAppService = coursePurchaseOrderAppService; } /** * 获取当前登录用户的购课记录列表。 */ @GetMapping("/course-purchase-orders") public ApiResponse> page( @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "20") int pageSize, @RequestParam(value = "productName", required = false) String productName) { return ApiResponse.ok(coursePurchaseOrderAppService.appUserPage(page, pageSize, productName)); } /** * 获取当前登录用户的购课记录详情。 */ @GetMapping("/course-purchase-orders/{orderNo}") public ApiResponse detail(@PathVariable("orderNo") String orderNo) { return ApiResponse.ok(coursePurchaseOrderAppService.appUserDetail(orderNo)); } }