Pu Zhibing
2024-09-20 a146097a15d719c60af3cdeb4de1f21aa7b5ca8d
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java
@@ -3,6 +3,7 @@
import com.fasterxml.jackson.core.type.TypeReference;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.payment.api.vo.PaymentOrder;
import com.ruoyi.payment.api.vo.WxRefundNotifyResp;
import com.ruoyi.payment.wx.enums.RefundEnum;
@@ -15,6 +16,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.math.BigDecimal;
@@ -32,6 +34,10 @@
public class WxPayController {
    @Autowired
    private WxV3Pay wxV3Pay;
    @Resource
    private OrderClient orderClient;
    /**
@@ -108,19 +114,22 @@
     * 支付回调
     */
    @PostMapping("pay/notify")
    @ApiOperation("订单回调")
    public R<Map<String, Object>> payNotify(HttpServletRequest request) throws Exception {
        try {
            Map<String, Object> params = wxV3Pay.verifyNotify(request, new TypeReference<Map<String, Object>>() {});
            log.info("支付回调:{}", params);
            String outRefundNo = (String) params.get("out_refund_no");
            String outRefundNo = (String) params.get("transaction_id");
            String out_trade_no = params.get("out_trade_no").toString();
            String substring = out_trade_no.substring(0, 2);
            switch (substring){
                //购物订单
                case "GW":
                    R r = orderClient.callBack(out_trade_no, outRefundNo);
                    System.err.println("----收到购物回调");
                    break;
                case "HY":
                    System.err.println("----收到会员回调");
                    break;
            }