using MediatR; using TakeoutSaaS.Application.App.Finance.Settlement.Dto; using TakeoutSaaS.Application.App.Finance.Settlement.Queries; using TakeoutSaaS.Domain.Finance.Repositories; using TakeoutSaaS.Shared.Abstractions.Tenancy; namespace TakeoutSaaS.Application.App.Finance.Settlement.Handlers; /// /// 到账账户信息查询处理器。 /// public sealed class GetFinanceSettlementAccountQueryHandler( IFinanceTransactionRepository financeTransactionRepository, ITenantProvider tenantProvider) : IRequestHandler { /// public async Task Handle( GetFinanceSettlementAccountQuery request, CancellationToken cancellationToken) { var tenantId = tenantProvider.GetCurrentTenantId(); var snapshot = await financeTransactionRepository.GetSettlementAccountAsync( tenantId, cancellationToken); if (snapshot is null) { return null; } return new FinanceSettlementAccountDto { BankName = snapshot.BankName, BankAccountName = snapshot.BankAccountName, BankAccountNoMasked = snapshot.BankAccountNoMasked, WechatMerchantNoMasked = snapshot.WechatMerchantNoMasked, AlipayPidMasked = snapshot.AlipayPidMasked, SettlementPeriodText = snapshot.SettlementPeriodText }; } }