using MediatR; using TakeoutSaaS.Application.App.Subscriptions.Dto; using TakeoutSaaS.Domain.Tenants.Enums; using TakeoutSaaS.Shared.Abstractions.Results; namespace TakeoutSaaS.Application.App.Subscriptions.Queries; /// /// 订阅分页查询。 /// public sealed record GetSubscriptionListQuery : IRequest> { /// /// 订阅状态(精确匹配)。 /// public SubscriptionStatus? Status { get; init; } /// /// 套餐 ID(精确匹配)。 /// public long? TenantPackageId { get; init; } /// /// 租户 ID(精确匹配)。 /// public long? TenantId { get; init; } /// /// 租户关键词(名称或编码模糊匹配)。 /// public string? TenantKeyword { get; init; } /// /// 到期时间筛选:未来 N 天内到期。 /// public int? ExpiringWithinDays { get; init; } /// /// 是否自动续费筛选。 /// public bool? AutoRenew { get; init; } /// /// 页码(从 1 开始)。 /// public int Page { get; init; } = 1; /// /// 每页大小。 /// public int PageSize { get; init; } = 20; }