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.Application/ChannelWallets/Queries/ChannelWalletQueryHandler.cs |   47 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 44 insertions(+), 3 deletions(-)

diff --git a/ApiTools.Application/ChannelWallets/Queries/ChannelWalletQueryHandler.cs b/ApiTools.Application/ChannelWallets/Queries/ChannelWalletQueryHandler.cs
index cbc93a4..81ad08b 100644
--- a/ApiTools.Application/ChannelWallets/Queries/ChannelWalletQueryHandler.cs
+++ b/ApiTools.Application/ChannelWallets/Queries/ChannelWalletQueryHandler.cs
@@ -14,11 +14,29 @@
     /// 鏌ヨ娓犻亾閽卞寘浜ゆ槗璇︽儏
     /// </summary>
     public class ChannelWalletQueryHandler(
+            ChannelWalletRepository channelWalletRepository,
             ChannelWalletTransactionRepository channelWalletTransactionRepository
         ) :
-        IRequestHandler<GetChannelWalletTransactionQuery, GetChannelWalletTransactionQueryResult>
+        IRequestHandler<GetChannelPingAnPayWalletQuery, GetChannelPingAnPayWalletQueryResult>,
+        IRequestHandler<GetChannelWalletTransactionQuery, GetChannelWalletTransactionQueryResult>,
+        IRequestHandler<GetChannelWalletTransactionsQuery, GetChannelWalletTransactionsQueryResult>
     {
+        private readonly ChannelWalletRepository channelWalletRepository = channelWalletRepository;
         private readonly ChannelWalletTransactionRepository channelWalletTransactionRepository = channelWalletTransactionRepository;
+
+        /// <summary>
+        /// 鏌ヨ娓犻亾骞冲畨閾惰閽卞寘
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<GetChannelPingAnPayWalletQueryResult> Handle(GetChannelPingAnPayWalletQuery request, CancellationToken cancellationToken)
+        {
+            return await channelWalletRepository.GetQueryable()
+                .Where(it => it.OutWalletId == request.OutWalletId)
+                .ProjectToType<GetChannelPingAnPayWalletQueryResult>()
+                .FirstOrDefaultAsync();
+        }
 
         /// <summary>
         /// 鏌ヨ娓犻亾閽卞寘浜ゆ槗璇︽儏
@@ -28,11 +46,34 @@
         /// <returns></returns>
         public async Task<GetChannelWalletTransactionQueryResult> Handle(GetChannelWalletTransactionQuery request, CancellationToken cancellationToken)
         {
-            var logier = JwtUtils.GetCurrentLogier();
             return await channelWalletTransactionRepository.GetQueryable()
-                .Where(it => it.Wallet.ChannelId == logier.ChannelId && it.OutCode == request.OutCode)
+                .Where(it => it.OutCode == request.OutCode)
                 .ProjectToType<GetChannelWalletTransactionQueryResult>()
                 .FirstOrDefaultAsync();
         }
+
+        /// <summary>
+        /// 鏌ヨ娓犻亾閽卞寘浜ゆ槗璇︽儏
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<GetChannelWalletTransactionsQueryResult> Handle(GetChannelWalletTransactionsQuery request, CancellationToken cancellationToken)
+        {
+            var list = new GetChannelWalletTransactionsQueryResult();
+            list.Items = await channelWalletTransactionRepository.GetQueryable()
+                .Where(it => request.OutCodes.Contains(it.OutCode))
+                .ProjectToType<GetChannelWalletTransactionsQueryResultItem>()
+                .ToListAsync();
+            foreach (var item in list.Items)
+            {
+                if (item.EreceiptStatus == EnumWalletTransactionEreceiptStatus.SUCCESS
+                    && item.EreceiptDownloadOssUrl.IsNotNull())
+                {
+                    item.EreceiptDownloadOssFullUrl = AliyunOSSUtils.GetUrl(item.EreceiptDownloadOssUrl);
+                }
+            }
+            return list;
+        }
     }
 }

--
Gitblit v1.9.1