namespace TakeoutSaaS.Application.App.Coupons.PunchCard.Dto;

/// <summary>
/// 次卡使用记录分页结果。
/// </summary>
public sealed class PunchCardUsageRecordListResultDto
{
    /// <summary>
    /// 列表数据。
    /// </summary>
    public IReadOnlyList<PunchCardUsageRecordDto> Items { get; init; } = [];

    /// <summary>
    /// 页码。
    /// </summary>
    public int Page { get; init; }

    /// <summary>
    /// 每页条数。
    /// </summary>
    public int PageSize { get; init; }

    /// <summary>
    /// 总条数。
    /// </summary>
    public int TotalCount { get; init; }

    /// <summary>
    /// 统计数据。
    /// </summary>
    public PunchCardUsageStatsDto Stats { get; init; } = new();

    /// <summary>
    /// 次卡筛选选项。
    /// </summary>
    public IReadOnlyList<PunchCardTemplateOptionDto> TemplateOptions { get; init; } = [];
}
