using MediatR; using TakeoutSaaS.Application.App.Stores.Dto; using TakeoutSaaS.Domain.Stores.Enums; using TakeoutSaaS.Shared.Abstractions.Results; namespace TakeoutSaaS.Application.App.Stores.Queries; /// /// 门店列表查询。 /// public sealed class SearchStoresQuery : IRequest> { /// /// 租户 ID(为空则查询全部租户)。 /// public long? TenantId { get; init; } /// /// 商户 ID(可选)。 /// public long? MerchantId { get; init; } /// /// 状态过滤。 /// public StoreStatus? Status { get; init; } /// /// 审核状态过滤。 /// public StoreAuditStatus? AuditStatus { get; init; } /// /// 经营状态过滤。 /// public StoreBusinessStatus? BusinessStatus { get; init; } /// /// 主体类型过滤。 /// public StoreOwnershipType? OwnershipType { get; init; } /// /// 关键词(名称/编码)。 /// public string? Keyword { get; init; } /// /// 是否包含已软删除数据。 /// public bool IncludeDeleted { get; init; } /// /// 页码。 /// public int Page { get; init; } = 1; /// /// 每页条数。 /// public int PageSize { get; init; } = 20; /// /// 排序字段(name/code/status/createdAt)。 /// public string? SortBy { get; init; } /// /// 是否倒序。 /// public bool SortDescending { get; init; } = true; }