AlipayController.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.ydtech.modules.admin.controller;
  2. import com.alipay.api.AlipayApiException;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.exception.SystemException;
  5. import com.ydtech.modules.admin.components.UnionPayRequestApiComponent;
  6. import com.ydtech.modules.admin.model.SysUser;
  7. import com.ydtech.modules.admin.model.vo.*;
  8. import com.ydtech.modules.admin.service.AlipayService;
  9. import com.ydtech.modules.admin.service.SysUserService;
  10. import com.ydtech.modules.admin.service.WechatService;
  11. import com.ydtech.modules.base.controller.BaseController;
  12. import com.ydtech.modules.protocol.utils.AssertionUtils;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import lombok.RequiredArgsConstructor;
  16. import lombok.extern.slf4j.Slf4j;
  17. import me.chanjar.weixin.common.error.WxErrorException;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. @Api(tags = "支付宝业务")
  21. @Slf4j
  22. @RestController
  23. @RequestMapping("/alipay")
  24. @RequiredArgsConstructor
  25. public class AlipayController extends BaseController {
  26. private final AlipayService alipayService;
  27. private final SysUserService sysUserService;
  28. @PostMapping("/login")
  29. @ApiOperation(value = "登录")
  30. public HttpResult<AlipayVo> login(@RequestBody AlipayBindVo alipayBindVo) {
  31. try {
  32. return alipayService.login(alipayBindVo);
  33. } catch (AlipayApiException e) {
  34. log.info(e.getMessage());
  35. throw new SystemException("支付宝授权失败");
  36. }
  37. }
  38. @PostMapping("/bind")
  39. @ApiOperation(value = "工号绑定支付宝")
  40. HttpResult<Object> bind(@RequestBody AlipayBindVo alipayBindVo) throws AlipayApiException {
  41. try {
  42. String userId = getUserId();
  43. return alipayService.bind(alipayBindVo, userId);
  44. } catch (AlipayApiException e) {
  45. throw new SystemException("支付宝授权失败");
  46. }
  47. }
  48. @ApiOperation(value = "是否绑定支付宝")
  49. @GetMapping(value = "/isBindAlipay")
  50. public HttpResult<Object> isBindAlipay() {
  51. SysUser sysUser = sysUserService.getById(getUserId());
  52. String alipayId = sysUser.getAlipay();
  53. AssertionUtils.isStringEmpty(alipayId, "未绑定支付宝");
  54. return HttpResult.ok();
  55. }
  56. @Autowired
  57. private UnionPayRequestApiComponent unionPayRequestApiComponent;
  58. @GetMapping(value = "/test")
  59. public HttpResult<Object> test() {
  60. unionPayRequestApiComponent.invokeToken();
  61. return HttpResult.ok();
  62. }
  63. }