From fb245f04af0c848128da7d14c61694736b4afde7 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 20 十一月 2025 14:50:46 +0800
Subject: [PATCH] Merge branch 'dev-818-3.4.2.12' of http://120.26.58.240:8888/r/ApiTools into dev-818-3.4.2.12

---
 ApiTools.Core/Jobs/RefreshChannelWalletTransactionStatusJob.cs |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/ApiTools.Core/Jobs/RefreshChannelWalletTransactionStatusJob.cs b/ApiTools.Core/Jobs/RefreshChannelWalletTransactionStatusJob.cs
index c92df86..47ffc54 100644
--- a/ApiTools.Core/Jobs/RefreshChannelWalletTransactionStatusJob.cs
+++ b/ApiTools.Core/Jobs/RefreshChannelWalletTransactionStatusJob.cs
@@ -33,11 +33,15 @@
             if (env != "Local")
             {
                 var transactions = await channelWalletTransactionRepository.GetQueryable(false)
+                .Include(it => it.PingAnPay)
                 .Where(it =>
                     it.TransactionStatus == EnumWalletTransactionStatus.WaitPay
-                    || it.TransactionStatus == EnumWalletTransactionStatus.Dealing)
+                    || it.TransactionStatus == EnumWalletTransactionStatus.Dealing
+                    || it.TransactionStatus == EnumWalletTransactionStatus.Success
+                    && it.EreceiptStatus != EnumWalletTransactionEreceiptStatus.SUCCESS
+                    && it.EreceiptStatus != EnumWalletTransactionEreceiptStatus.FAIL)
                 .ToListAsync();
-                var walletIds = transactions.DistinctSelect(it => it.WalletId);
+                var walletIds = transactions.Select(it => it.WalletId).Distinct().ToList();
                 var wallets = await channelWalletRepository.GetQueryable(false)
                     .Where(it => walletIds.Contains(it.Id))
                     .ToListAsync();
@@ -46,8 +50,12 @@
                     var wallet = wallets.FirstOrDefault(it => it.Id == transaction.WalletId);
                     if (wallet != null)
                     {
-                        // 鏌ヨ浜ゆ槗璇︽儏
-                        await channelWalletService.GetTransactionDetail(wallet, transaction);
+                        if (transaction.TransactionStatus == EnumWalletTransactionStatus.WaitPay
+                            || transaction.TransactionStatus == EnumWalletTransactionStatus.Dealing)
+                        {
+                            // 鏌ヨ浜ゆ槗璇︽儏
+                            await channelWalletService.GetTransactionDetail(wallet, transaction);
+                        }
                         // 涓嬭浇鍥炲崟
                         await channelWalletService.DownloadEreceiptUrl(wallet, transaction);
                     }

--
Gitblit v1.9.1