using TakeoutSaaS.Domain.Tenants.Enums;

namespace TakeoutSaaS.Application.App.Statistics.Dto;

/// <summary>
/// 即将到期的订阅项。
/// </summary>
public record ExpiringSubscriptionDto
{
    /// <summary>
    /// 订阅ID。
    /// </summary>
    public long Id { get; init; }

    /// <summary>
    /// 租户ID。
    /// </summary>
    public string TenantId { get; init; } = string.Empty;

    /// <summary>
    /// 租户名称。
    /// </summary>
    public string TenantName { get; init; } = string.Empty;

    /// <summary>
    /// 套餐名称。
    /// </summary>
    public string PackageName { get; init; } = string.Empty;

    /// <summary>
    /// 订阅状态。
    /// </summary>
    public SubscriptionStatus Status { get; init; }

    /// <summary>
    /// 到期时间。
    /// </summary>
    public DateTime EffectiveTo { get; init; }

    /// <summary>
    /// 剩余天数。
    /// </summary>
    public int DaysRemaining { get; init; }

    /// <summary>
    /// 是否开启自动续费。
    /// </summary>
    public bool AutoRenew { get; init; }
}
