GptRechargeController.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.cyksj.web.controller.recharge;
  2. import com.cyksj.dto.Result;
  3. import com.cyksj.enums.GatewayResponse;
  4. import com.cyksj.model.request.GroupsRelationRechargeReq;
  5. import com.cyksj.server.recharge.GptProxyRechargeService;
  6. import com.cyksj.server.recharge.dto.CardKeyValidationResult;
  7. import com.cyksj.server.recharge.dto.TaskResult;
  8. import com.cyksj.server.recharge.dto.TaskSubmitResult;
  9. import com.cyksj.server.recharge.dto.TokenParseResult;
  10. import com.cyksj.web.controller.recharge.req.ParseTokenRequest;
  11. import com.cyksj.web.controller.recharge.req.SubmitTaskRequest;
  12. import com.cyksj.web.controller.recharge.req.ValidateCardRequest;
  13. import com.cyksj.web.util.StpUserUtil;
  14. import lombok.RequiredArgsConstructor;
  15. import org.springframework.validation.annotation.Validated;
  16. import org.springframework.web.bind.annotation.*;
  17. /**
  18. * server/GPT代理充值控制器
  19. */
  20. @RestController
  21. @RequestMapping("/gpt-recharge")
  22. @RequiredArgsConstructor
  23. @CrossOrigin(origins = "*")
  24. public class GptRechargeController {
  25. private final GptProxyRechargeService gptProxyRechargeService;
  26. /**
  27. * 验证卡密
  28. */
  29. @PostMapping("/validate-card")
  30. public CardKeyValidationResult validateCard(@RequestBody ValidateCardRequest request) {
  31. return gptProxyRechargeService.validateCardKey(request.getCardKey());
  32. }
  33. /**
  34. * 验证凭证
  35. */
  36. @PostMapping("/parse-token")
  37. public TokenParseResult parseToken(@RequestBody ParseTokenRequest request) {
  38. return gptProxyRechargeService.parseToken(request.getAccessToken());
  39. }
  40. /**
  41. * 用户确认充值
  42. */
  43. @PostMapping("/confirm")
  44. public Result<String> confirmRecharge(@RequestBody @Validated GroupsRelationRechargeReq req) {
  45. long userId = StpUserUtil.getLoginIdAsLong();
  46. req.setUserId(userId);
  47. String taskId = gptProxyRechargeService.confirmRecharge(req);
  48. return GatewayResponse.SUCCESS.newBuilder().toResult(taskId);
  49. }
  50. /**
  51. * 提交任务
  52. */
  53. @PostMapping("/submit-task")
  54. public TaskSubmitResult submitTask(@RequestBody SubmitTaskRequest request) {
  55. return gptProxyRechargeService.submitTask(
  56. request.getCardKey(),
  57. request.getAccessToken(),
  58. request.getIdp()
  59. );
  60. }
  61. /**
  62. * 查询任务状态
  63. */
  64. @GetMapping("/task-status/{taskId}")
  65. public TaskResult getTaskStatus(@PathVariable String taskId) {
  66. return gptProxyRechargeService.getTaskResult(taskId);
  67. }
  68. }