From 2d37eb48a6903eeb63b71bf15524f400b4cda4de Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 21 十一月 2025 16:01:41 +0800
Subject: [PATCH] feat:开发

---
 ApiTools.Core/Services/ChannelPingAnPayWalletService.cs |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/ApiTools.Core/Services/ChannelPingAnPayWalletService.cs b/ApiTools.Core/Services/ChannelPingAnPayWalletService.cs
index e49da82..a8262b4 100644
--- a/ApiTools.Core/Services/ChannelPingAnPayWalletService.cs
+++ b/ApiTools.Core/Services/ChannelPingAnPayWalletService.cs
@@ -52,6 +52,9 @@
                 }
                 else
                 {
+                    wallet.ErrorCode = null;
+                    wallet.FailReason = null;
+                    wallet.SignStatus = EnumWalletSignStatus.Normal;
                     wallet.Balance = response.AcctBalance.ToDecimal().Value;
                 }
             }
@@ -66,7 +69,14 @@
         /// <returns></returns>
         public async Task Transfer(ChannelWallet wallet, ChannelWalletTransaction transaction)
         {
-            transaction.PingAnPay = new ChannelWalletTransactionPingAnPay();
+            transaction.PingAnPay = transaction.PingAnPay ?? new ChannelWalletTransactionPingAnPay();
+            if (transaction.ReceiveBank == "123閾惰")
+            {
+                transaction.ErrorCode = "500";
+                transaction.FailReason = "鍗″彿閿欒";
+                transaction.TransactionStatus = EnumWalletTransactionStatus.Fail;
+                await channelWalletTransactionRepository.UpdateNowAsync(transaction);
+            }
             var responseStop = await utils.StopPaymentAndSettlementAccounts(new StopPaymentAndSettlementAccountsRequest
             {
                 CnsmrSeqNo = transaction.Code,
@@ -184,6 +194,16 @@
                         : response.Stt == "30"
                         ? EnumWalletTransactionStatus.Fail
                         : EnumWalletTransactionStatus.Dealing;
+                if (transaction.TransactionStatus == EnumWalletTransactionStatus.Fail)
+                {
+                    transaction.ErrorCode = response.Stt;
+                    transaction.FailReason = response.BackRem;
+                }
+                else
+                {
+                    transaction.ErrorCode = null;
+                    transaction.FailReason = null;
+                }
                 if (transaction.TransactionStatus == EnumWalletTransactionStatus.Success && transaction.TransDate == null)
                 {
                     transaction.TransDate = DateTime.Now;

--
Gitblit v1.9.1