using MediatR;
using TakeoutSaaS.Application.App.Tenants.Dto;
using TakeoutSaaS.Application.App.Tenants.Queries;
using TakeoutSaaS.Domain.Tenants.Repositories;
namespace TakeoutSaaS.Application.App.Tenants.Handlers;
///
/// 账单详情查询处理器。
///
public sealed class GetTenantBillQueryHandler(ITenantBillingRepository billingRepository)
: IRequestHandler
{
public async Task Handle(GetTenantBillQuery request, CancellationToken cancellationToken)
{
// 1. 查询账单
var bill = await billingRepository.FindByIdAsync(request.TenantId, request.BillingId, cancellationToken);
// 2. 返回 DTO 或 null
return bill?.ToDto();
}
}