You've already forked FrameTour-BE
68 lines
2.4 KiB
Java
68 lines
2.4 KiB
Java
package com.ycwl.basic.controller.mobile;
|
|
|
|
|
|
import com.ycwl.basic.annotation.IgnoreToken;
|
|
import com.ycwl.basic.enums.BizCodeEnum;
|
|
import com.ycwl.basic.model.wx.WXPayOrderReqVO;
|
|
import com.ycwl.basic.model.wx.WxPayRespVO;
|
|
import com.ycwl.basic.pay.entity.PayResponse;
|
|
import com.ycwl.basic.service.mobile.WxPayService;
|
|
import com.ycwl.basic.utils.ApiResponse;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
|
|
import java.io.IOException;
|
|
import java.security.GeneralSecurityException;
|
|
|
|
/**
|
|
* @Author: songmingsong
|
|
* @CreateTime: 2024-12-05
|
|
* @Description: 微信支付
|
|
* @Version: 1.0
|
|
*/
|
|
@RestController
|
|
@RequestMapping("/api/mobile/wx/pay/v1")
|
|
// 微信支付相关接口
|
|
public class AppWxPayController {
|
|
|
|
@Autowired
|
|
private WxPayService wxPayService;
|
|
|
|
// 微信支付回调
|
|
@PostMapping("/payNotify")
|
|
@IgnoreToken
|
|
public ApiResponse<?> payNotify(HttpServletRequest request) {
|
|
wxPayService.payNotify(request);
|
|
return ApiResponse.success(BizCodeEnum.REQUEST_OK);
|
|
}
|
|
|
|
@RequestMapping("/{scenicId}/payNotify")
|
|
@IgnoreToken
|
|
public Object payNotifyByScenicId(@PathVariable Long scenicId, HttpServletRequest request) {
|
|
PayResponse payResponse = wxPayService.payNotify(scenicId, request);
|
|
if (payResponse == null) {
|
|
return ApiResponse.buildResult(BizCodeEnum.ADVANCE_PAYMENT_CALLBACK_FAILED);
|
|
}
|
|
if (StringUtils.isNotBlank(payResponse.getCustomResponse())) {
|
|
return payResponse.getCustomResponse();
|
|
}
|
|
return ApiResponse.success(BizCodeEnum.REQUEST_OK);
|
|
}
|
|
|
|
// 微信支付退款回调
|
|
@PostMapping("/{scenicId}/refundNotify")
|
|
@IgnoreToken
|
|
public ApiResponse<?> refundNotify(@PathVariable Long scenicId, HttpServletRequest request) throws GeneralSecurityException, IOException {
|
|
return ApiResponse.buildResult(wxPayService.refundNotify(scenicId, request) ?
|
|
BizCodeEnum.SUCCESS :
|
|
BizCodeEnum.ADVANCE_PAYMENT_CALLBACK_REFUND_FAILED);
|
|
}
|
|
}
|