using MediatR;
using TakeoutSaaS.Application.App.Finance.Overview.Dto;
using TakeoutSaaS.Domain.Finance.Enums;

namespace TakeoutSaaS.Application.App.Finance.Overview.Queries;

/// <summary>
/// 查询财务概览驾驶舱数据。
/// </summary>
public sealed class GetFinanceOverviewDashboardQuery : IRequest<FinanceOverviewDashboardDto>
{
    /// <summary>
    /// 统计维度。
    /// </summary>
    public FinanceCostDimension Dimension { get; init; } = FinanceCostDimension.Tenant;

    /// <summary>
    /// 门店标识（门店维度必填）。
    /// </summary>
    public long? StoreId { get; init; }

    /// <summary>
    /// 当前 UTC 时间。
    /// </summary>
    public DateTime CurrentUtc { get; init; } = DateTime.UtcNow;
}
