package com.tcm.training.admin.app.member.controller; import com.tcm.training.admin.app.member.dto.AppMemberPurchaseRequest; import com.tcm.training.admin.app.member.service.AppMemberPurchaseService; import com.tcm.training.admin.app.member.service.AppMemberOpenPageService; import com.tcm.training.admin.app.member.vo.AppMemberOpenPageVO; import com.tcm.training.admin.app.member.vo.AppMemberPurchaseResultVO; import com.tcm.training.admin.common.ApiResponse; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; /** * APP 会员开通页接口。 */ @Validated @RestController @RequestMapping({"/api/app/member", "/api/v1/app/member"}) public class AppMemberOpenPageController { private final AppMemberOpenPageService appMemberOpenPageService; private final AppMemberPurchaseService appMemberPurchaseService; /** * 注入 APP 会员开通页服务。 */ public AppMemberOpenPageController(AppMemberOpenPageService appMemberOpenPageService, AppMemberPurchaseService appMemberPurchaseService) { this.appMemberOpenPageService = appMemberOpenPageService; this.appMemberPurchaseService = appMemberPurchaseService; } /** * 获取 APP 会员开通页聚合数据。 */ @GetMapping("/open-page") public ApiResponse getOpenPage() { return ApiResponse.ok(appMemberOpenPageService.getOpenPage()); } /** * 提交 APP 会员购买。 */ @PostMapping("/purchase") public ApiResponse purchase(@Valid @RequestBody AppMemberPurchaseRequest request) { return ApiResponse.ok(appMemberPurchaseService.purchase(request)); } }