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

namespace TakeoutSaaS.Domain.Tenants.Entities;

/// <summary>
/// 租户配额使用情况快照。
/// </summary>
public sealed class TenantQuotaUsage : MultiTenantEntityBase
{
    /// <summary>
    /// 配额类型，例如门店数、短信条数等。
    /// </summary>
    public TenantQuotaType QuotaType { get; set; }

    /// <summary>
    /// 当前配额上限。
    /// </summary>
    public decimal LimitValue { get; set; }

    /// <summary>
    /// 已消耗的数量。
    /// </summary>
    public decimal UsedValue { get; set; }

    /// <summary>
    /// 配额刷新周期描述（如月、年）。
    /// </summary>
    public string? ResetCycle { get; set; }

    /// <summary>
    /// 最近一次重置时间。
    /// </summary>
    public DateTime? LastResetAt { get; set; }
}
