From b3d754191cd615048cf850734e89e823128ffbfc Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 23 Jul 2025 16:24:17 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/controller/protol/UserController.java |   16 +++++++++++++++-
 src/main/java/com/nq/service/impl/PayServiceImpl.java      |    9 +++++----
 2 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/nq/controller/protol/UserController.java b/src/main/java/com/nq/controller/protol/UserController.java
index bfa4713..bb70712 100644
--- a/src/main/java/com/nq/controller/protol/UserController.java
+++ b/src/main/java/com/nq/controller/protol/UserController.java
@@ -464,7 +464,21 @@
      * 充值2异步接收地址
      */
     @PostMapping({"rechargeCallbackTwo.do"})
-    public void rechargeCallbackTwo(TransactionStatusVo vo, HttpServletResponse response) throws IOException {
+    public void rechargeCallbackTwo(@RequestParam("status") String status,
+                                    @RequestParam("merchantid") String merchantid,
+                                    @RequestParam("out_trade_no") String outTradeNo,
+                                    @RequestParam("total_fee") String totalFee,
+                                    @RequestParam("poundage") String poundage,
+                                    @RequestParam("account_fee") String accountFee,
+                                    @RequestParam("sign") String sign, HttpServletResponse response) throws IOException {
+        TransactionStatusVo vo = new TransactionStatusVo();
+        vo.setStatus(status);
+        vo.setMerchantid(merchantid);
+        vo.setOut_trade_no(outTradeNo);
+        vo.setTotal_fee(totalFee);
+        vo.setPoundage(poundage);
+        vo.setAccount_fee(accountFee);
+        vo.setSign(sign);
         payService.rechargeCallbackTwo(vo,response);
     }
 }
diff --git a/src/main/java/com/nq/service/impl/PayServiceImpl.java b/src/main/java/com/nq/service/impl/PayServiceImpl.java
index 7b1c67a..68bb7d8 100644
--- a/src/main/java/com/nq/service/impl/PayServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/PayServiceImpl.java
@@ -915,18 +915,19 @@
                     .last("limit 1")
             );
 
-            if(!vo.getStatus().equals("payin_ing")){
+            if(vo.getStatus().equals("payin_ing")){
                 log.error("充值2回调交易中:"+vo.toString());
                 return;
-            }
-
-            if(!vo.getStatus().equals("payin_fail")){
+            }else if(vo.getStatus().equals("payin_fail")){
                 paymentRecharge.setStatus(2);
                 paymentRecharge.setAmount(new BigDecimal(vo.getAccount_fee()));
                 paymentRecharge.setPayInfo(vo.toString());
                 paymentRechargeService.updateById(paymentRecharge);
                 log.error("充值回调失败:"+vo.toString());
                 return;
+            }else if(!vo.getStatus().equals("payin_fail") && !vo.getStatus().equals("payin_ing") && !vo.getStatus().equals("payin_success")){
+                log.error("充值回调失败----未知状态:"+vo.toString());
+                return;
             }
 
             if(ObjectUtils.isEmpty(paymentRecharge)){

--
Gitblit v1.9.3