PayController.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.zanxiang.sdk.controller;
  2. import com.alibaba.nacos.common.utils.IPUtil;
  3. import com.zanxiang.common.domain.ResultMap;
  4. import com.zanxiang.common.enums.PayWayEnum;
  5. import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
  6. import com.zanxiang.sdk.domain.params.ProductPayParam;
  7. import com.zanxiang.sdk.service.Impl.pay.PayService;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.jdom.JDOMException;
  11. import org.springframework.web.bind.annotation.*;
  12. import javax.annotation.Resource;
  13. import javax.servlet.http.HttpServletRequest;
  14. import javax.servlet.http.HttpServletResponse;
  15. import java.io.IOException;
  16. /**
  17. * 支付公共入口
  18. *
  19. * @author xufeng
  20. * @date 2022/6/8 14:49
  21. */
  22. @Api(tags = "支付公共入口")
  23. @RestController
  24. @RequestMapping(value = "/pay")
  25. public class PayController {
  26. @Resource
  27. private PayService payService;
  28. @ApiOperation(value = "支付参数生成")
  29. @GetMapping(value = "/create")
  30. public ResultMap create(@RequestBody ProductPayParam product) {
  31. String userId = "1";
  32. ProductPayParamBO bo = new ProductPayParamBO();
  33. bo.setUserId(userId);
  34. bo.setPayDevice(product.getPayDevice());
  35. bo.setSpbillCreateIp(IPUtil.localHostIP());
  36. bo.setOutTradeNo(product.getOrderId());
  37. bo.setPayWay(product.getPayWay());
  38. return payService.payCreate(bo);
  39. }
  40. @ApiOperation(value = "支付宝支付异步回调(二维码、H5、网站)")
  41. @RequestMapping(value = "notify", method = RequestMethod.POST)
  42. public String alipayNotify(HttpServletRequest request, HttpServletResponse response) throws IOException, JDOMException {
  43. return payService.notify(request, response, PayWayEnum.ALIPAY.getNum());
  44. }
  45. @ApiOperation(value = "微信支付")
  46. @RequestMapping(value = "wxPayNotify", method = RequestMethod.POST)
  47. public String wxPayNotify(HttpServletRequest request, HttpServletResponse response) throws IOException, JDOMException {
  48. return payService.notify(request, response, PayWayEnum.WXPAY.getNum());
  49. }
  50. @ApiOperation(value = "支付宝支付同步回调(二维码、H5、网站)")
  51. @RequestMapping(value = "alipaySynNotify", method = RequestMethod.POST)
  52. public ResultMap synNotify(HttpServletRequest request) {
  53. return payService.synNotify(request, PayWayEnum.ALIPAY.getNum());
  54. }
  55. }