package cc.mrbird.febs.mall.controller; import cc.mrbird.febs.common.annotation.SubmitRepeat; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.service.IRunVipService; import cc.mrbird.febs.mall.vo.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @Slf4j @Validated @RestController @CrossOrigin("*") @RequiredArgsConstructor @RequestMapping(value = "/api/runVip") @Api(value = "ApiRunVipController", tags = "碳积分接口") public class ApiRunVipController { private final IRunVipService iRunVipService; @ApiOperation(value = "走路-健康", notes = "走路-健康") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiRunHealthVo.class) }) @GetMapping(value = "/runHealth") public FebsResponse runHealth() { return new FebsResponse().success().data(iRunVipService.runHealth()); } @ApiOperation(value = "运动数据", notes = "运动数据") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiRunDataVo.class) }) @GetMapping(value = "/runData") public FebsResponse runData() { return new FebsResponse().success().data(iRunVipService.runData()); } @ApiOperation(value = "运动日历", notes = "运动日历") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiGetRunDateVo.class) }) @PostMapping(value = "/getRunDate") public FebsResponse getChargeList(@RequestBody @Valid ApiGetRunDateDto apiGetRunDateDto) { return new FebsResponse().success().data(iRunVipService.getRunDate(apiGetRunDateDto)); } @ApiOperation(value = "会员中心-购买VIP列表", notes = "会员中心-购买VIP列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiRunVipVo.class) }) @GetMapping(value = "/vipInfo") public FebsResponse vipInfo() { return new FebsResponse().success().data(iRunVipService.vipInfo()); } @ApiOperation(value = "【购买VIP】列表", notes = "【购买VIP】列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiChargeVo.class) }) @PostMapping(value = "/getChargeList") public FebsResponse getChargeList(@RequestBody ApiChargeListDto apiChargeListDto) { return new FebsResponse().success().data(iRunVipService.getChargeList(apiChargeListDto)); } @ApiOperation(value = "【购买VIP】APP支付", notes = "【购买VIP】APP支付") @PostMapping(value = "/goCharge") @SubmitRepeat public FebsResponse balanceBuy(@RequestBody @Valid ApiBalanceBuyDto apiBalanceBuyDto) { return iRunVipService.balanceBuy(apiBalanceBuyDto); } @ApiOperation(value = "【购买VIP】立即购买", notes = "【购买VIP】立即购买") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiGoChargeVo.class) }) @PostMapping(value = "/goCharge") @SubmitRepeat public FebsResponse goCharge(@RequestBody @Valid ApiGoChargeDto apiGoChargeDto) { return iRunVipService.goCharge(apiGoChargeDto); } @ApiOperation(value = "【购买VIP】马上支付", notes = "【购买VIP】马上支付") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiGoChargeVo.class) }) @PostMapping(value = "/goChargeInfo") @SubmitRepeat public FebsResponse goChargeInfo(@RequestBody @Valid ApiGoChargeInfoDto apiGoChargeInfoDto) { return iRunVipService.goChargeInfo(apiGoChargeInfoDto); } }