using TakeoutSaaS.Domain.Finance.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;

namespace TakeoutSaaS.Domain.Finance.Entities;

/// <summary>
/// 成本录入月度汇总实体（按维度 + 分类）。
/// </summary>
public sealed class FinanceCostEntry : MultiTenantEntityBase
{
    /// <summary>
    /// 统计维度。
    /// </summary>
    public FinanceCostDimension Dimension { get; set; } = FinanceCostDimension.Tenant;

    /// <summary>
    /// 门店标识（租户汇总维度为空）。
    /// </summary>
    public long? StoreId { get; set; }

    /// <summary>
    /// 成本月份（统一存储为 UTC 每月第一天 00:00:00）。
    /// </summary>
    public DateTime CostMonth { get; set; }

    /// <summary>
    /// 成本分类。
    /// </summary>
    public FinanceCostCategory Category { get; set; }

    /// <summary>
    /// 分类总金额。
    /// </summary>
    public decimal TotalAmount { get; set; }
}
