using MediatR; using TakeoutSaaS.Application.App.Subscriptions.Contracts; using TakeoutSaaS.Domain.Tenants.Enums; using TakeoutSaaS.Shared.Abstractions.Results; namespace TakeoutSaaS.Application.App.Subscriptions.Queries; /// /// 获取订阅列表查询。 /// public sealed record ListSubscriptionsQuery : 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; } /// /// 到期时间范围开始。 /// public DateTime? ExpireFrom { get; init; } /// /// 到期时间范围结束。 /// public DateTime? ExpireTo { get; init; } /// /// 页码(从 1 开始)。 /// public int Page { get; init; } = 1; /// /// 每页条数。 /// public int PageSize { get; init; } = 10; }