| | |
| | | /// 查询渠道钱包交易详情 |
| | | /// </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> |
| | | /// 查询渠道钱包交易详情 |
| | |
| | | /// <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; |
| | | } |
| | | } |
| | | } |