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

---
 src/main/java/com/nq/service/impl/PayServiceImpl.java |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/PayServiceImpl.java b/src/main/java/com/nq/service/impl/PayServiceImpl.java
index 68bb7d8..e0080e2 100644
--- a/src/main/java/com/nq/service/impl/PayServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/PayServiceImpl.java
@@ -150,6 +150,19 @@
         paymentRecharge.setNotifyUrl(getOrderTime());
         paymentRecharge.setPayInfo(payResponse.toString());
         paymentRechargeService.save(paymentRecharge);
+
+        UserRecharge userRecharge = new UserRecharge();
+        userRecharge.setUserId(user.getId());
+        userRecharge.setNickName(user.getRealName());
+        userRecharge.setAgentId(user.getAgentId());
+        userRecharge.setOrderSn(params.get("out_trade_no"));
+        userRecharge.setPayChannel("支付1");
+        userRecharge.setPayAmt(amount);
+        userRecharge.setAddTime(new Date());
+        userRecharge.setPayTime(new Date());
+        userRecharge.setOrderStatus(Integer.valueOf(0));
+        userRecharge.setPayId(1);
+        userRechargeMapper.insert(userRecharge);
         return ServerResponse.createBySuccess(payResponse.getData().getUrl());
     }
 
@@ -910,10 +923,23 @@
             PrintWriter pw = response.getWriter();
 
             PaymentRecharge paymentRecharge = paymentRechargeService.getOne(new LambdaQueryWrapper<>(PaymentRecharge.class)
-                    .eq(PaymentRecharge::getMchOrderNo, vo.getOut_trade_no())
+                    .eq(PaymentRecharge::getOrderNo,vo.getOut_trade_no())
                     .eq(PaymentRecharge::getStatus,1)
                     .last("limit 1")
             );
+            if(ObjectUtils.isEmpty(paymentRecharge)){
+                log.info("未找到充值订单");
+                pw.print("error 未找到充值订单");
+                return;
+            }
+            UserRecharge userRecharge = userRechargeMapper.selectOne(new LambdaQueryWrapper<>(UserRecharge.class)
+                    .eq(UserRecharge::getOrderSn, paymentRecharge.getOrderNo())
+                    .eq(UserRecharge::getOrderStatus, 0).last(" limit 1"));
+            if(ObjectUtils.isEmpty(userRecharge)){
+                log.info("未找到充值记录订单");
+                pw.print("error 未找到充值订单");
+                return;
+            }
 
             if(vo.getStatus().equals("payin_ing")){
                 log.error("充值2回调交易中:"+vo.toString());
@@ -923,6 +949,8 @@
                 paymentRecharge.setAmount(new BigDecimal(vo.getAccount_fee()));
                 paymentRecharge.setPayInfo(vo.toString());
                 paymentRechargeService.updateById(paymentRecharge);
+                userRecharge.setOrderStatus(2);
+                userRechargeMapper.updateById(userRecharge);
                 log.error("充值回调失败:"+vo.toString());
                 return;
             }else if(!vo.getStatus().equals("payin_fail") && !vo.getStatus().equals("payin_ing") && !vo.getStatus().equals("payin_success")){
@@ -930,11 +958,6 @@
                 return;
             }
 
-            if(ObjectUtils.isEmpty(paymentRecharge)){
-                log.info("未找到充值订单");
-                pw.print("error 未找到充值订单");
-                return;
-            }
             UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<>(UserAssets.class)
                     .eq(UserAssets::getUserId, paymentRecharge.getUserId())
                     .eq(UserAssets::getAccectType, "IN")
@@ -946,6 +969,10 @@
                 paymentRecharge.setPayInfo(vo.toString());
                 paymentRechargeService.updateById(paymentRecharge);
             }
+
+            userRecharge.setOrderStatus(1);
+            userRechargeMapper.updateById(userRecharge);
+
             log.info("充值回调----完成");
             pw.print("success");
             pw.flush();

--
Gitblit v1.9.3