1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.zanxiang.sdk.controller;
- import com.zanxiang.common.domain.ResultMap;
- import com.zanxiang.common.domain.ResultVO;
- import com.zanxiang.common.enums.PayWayEnum;
- import com.zanxiang.module.util.JsonUtil;
- import com.zanxiang.sdk.annotation.UnSignCheck;
- import com.zanxiang.sdk.annotation.ValidLogin;
- import com.zanxiang.sdk.domain.params.ProductPayParam;
- import com.zanxiang.sdk.domain.params.UserData;
- import com.zanxiang.sdk.domain.vo.PayParamVO;
- import com.zanxiang.sdk.service.OrderPayService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- /**
- * 支付公共入口
- *
- * @author xufeng
- * @date 2022/6/8 14:49
- */
- @Api(tags = "支付公共入口")
- @RestController
- @RequestMapping(value = "/api/pay")
- @Slf4j
- public class PayController {
- @Resource
- private OrderPayService orderPayService;
- @UnSignCheck
- @ApiOperation(value = "获取小程序/客服支付参数")
- @GetMapping(value = "/param/applet")
- public ResultVO<PayParamVO> getPayParam(@RequestParam String code, @RequestParam Long orderId, HttpServletRequest request) {
- return ResultVO.ok(orderPayService.getPayParam(code, orderId, request));
- }
- @ApiOperation(value = "获取小游戏支付方式")
- @GetMapping(value = "/device/applet")
- public ResultVO<Integer> getAppletPayDevice(@ValidLogin UserData userData) {
- return ResultVO.ok(orderPayService.getAppletPayDevice(userData));
- }
- @ApiOperation(value = "支付参数生成")
- @PostMapping(value = "/create")
- public ResultMap create(@Validated @RequestBody ProductPayParam product, @ValidLogin UserData userData) {
- log.error("接收到支付请求, product : {}", JsonUtil.toString(product));
- return orderPayService.payCreate(product, userData);
- }
- @UnSignCheck
- @ApiOperation(value = "支付宝支付异步回调(二维码、H5、网站)")
- @RequestMapping(value = "/notify", method = RequestMethod.POST)
- public String aliPayNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
- return orderPayService.notify(request, response, PayWayEnum.ALIPAY.getNum());
- }
- @UnSignCheck
- @ApiOperation(value = "微信支付回调")
- @RequestMapping(value = "/wxPayNotify", method = RequestMethod.POST)
- public String wxPayNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
- return orderPayService.notify(request, response, PayWayEnum.WXPAY.getNum());
- }
- @UnSignCheck
- @ApiOperation(value = "支付宝支付同步回调(二维码、H5、网站)")
- @RequestMapping(value = "/alipaySynNotify", method = RequestMethod.GET)
- public ResultMap synNotify(HttpServletRequest request) {
- return orderPayService.synNotify(request, PayWayEnum.ALIPAY.getNum());
- }
- @ApiOperation(value = "获取订单支付结果")
- @GetMapping(value = "/get/result")
- public ResultVO<Boolean> getResult(@RequestParam String orderId) {
- return ResultVO.ok(orderPayService.payResult(orderId));
- }
- }
|