using MediatR;
using TakeoutSaaS.Application.App.Members.StoredCard.Dto;

namespace TakeoutSaaS.Application.App.Members.StoredCard.Queries;

/// <summary>
/// 查询储值卡充值记录分页。
/// </summary>
public sealed class GetStoredCardRechargeRecordListQuery : IRequest<MemberStoredCardRechargeRecordListResultDto>
{
    /// <summary>
    /// 门店标识。
    /// </summary>
    public long StoreId { get; init; }

    /// <summary>
    /// 开始日期（UTC）。
    /// </summary>
    public DateTime? StartDateUtc { get; init; }

    /// <summary>
    /// 结束日期（UTC）。
    /// </summary>
    public DateTime? EndDateUtc { get; init; }

    /// <summary>
    /// 关键字（会员/手机号/单号）。
    /// </summary>
    public string? Keyword { get; init; }

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

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