using MediatR; using TakeoutSaaS.Application.Identity.Contracts; using TakeoutSaaS.Domain.Identity.Enums; using TakeoutSaaS.Shared.Abstractions.Results; namespace TakeoutSaaS.Application.Identity.Queries; /// /// 用户列表查询。 /// public sealed record SearchIdentityUsersQuery : IRequest> { /// /// 租户 ID(超级管理员可选)。 /// public long? TenantId { get; init; } /// /// 关键字(账号/姓名/手机号/邮箱)。 /// public string? Keyword { get; init; } /// /// 用户状态。 /// public IdentityUserStatus? Status { get; init; } /// /// 角色 ID。 /// public long? RoleId { get; init; } /// /// 创建开始时间(UTC)。 /// public DateTime? CreatedAtFrom { get; init; } /// /// 创建结束时间(UTC)。 /// public DateTime? CreatedAtTo { get; init; } /// /// 最近登录开始时间(UTC)。 /// public DateTime? LastLoginFrom { get; init; } /// /// 最近登录结束时间(UTC)。 /// public DateTime? LastLoginTo { get; init; } /// /// 是否包含已删除用户。 /// public bool IncludeDeleted { get; init; } /// /// 页码(从 1 开始)。 /// public int Page { get; init; } = 1; /// /// 每页条数。 /// public int PageSize { get; init; } = 20; /// /// 排序字段。 /// public string? SortBy { get; init; } /// /// 是否降序。 /// public bool SortDescending { get; init; } = true; }