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