using MediatR; using TakeoutSaaS.Application.App.Tenants.Dto; using TakeoutSaaS.Domain.Tenants.Enums; using TakeoutSaaS.Shared.Abstractions.Results; namespace TakeoutSaaS.Application.App.Tenants.Queries; /// /// 分页查询租户公告。 /// public sealed record GetTenantsAnnouncementsQuery : IRequest> { /// /// 租户 ID(雪花算法)。 /// public long TenantId { get; init; } /// /// 公告类型筛选。 /// public TenantAnnouncementType? AnnouncementType { get; init; } /// /// 公告状态筛选。 /// public AnnouncementStatus? Status { get; init; } /// /// 关键词搜索(标题/内容)。 /// public string? Keyword { get; init; } /// /// 是否筛选启用状态。 /// public bool? IsActive { get; init; } /// /// 生效开始时间筛选(UTC)。 /// public DateTime? EffectiveFrom { get; init; } /// /// 生效结束时间筛选(UTC)。 /// public DateTime? EffectiveTo { get; init; } /// /// 仅返回当前有效期内的公告。 /// public bool? OnlyEffective { get; init; } /// /// 页码(从 1 开始)。 /// public int Page { get; init; } = 1; /// /// 每页条数。 /// public int PageSize { get; init; } = 20; }