namespace Dpz.Core.Service.RepositoryService;

public interface IAccountService
{
    /// <summary>
    /// 用户分页信息
    /// </summary>
    /// <param name="pageIndex"></param>
    /// <param name="pageSize"></param>
    /// <param name="account">排除的账号</param>
    /// <returns></returns>
    Task<IPagedList<VmUserInfo>> GetPageAsync(int pageIndex, int pageSize, string? account = null);

    /// <summary>
    /// 获取账号信息
    /// </summary>
    /// <param name="account"></param>
    /// <param name="cancellationToken">传播通知操作应取消的通知令牌</param>
    /// <returns></returns>
    Task<VmUserInfo?> GetOneUserAsync(
        string? account,
        CancellationToken cancellationToken = default
    );

    /// <summary>
    /// 根据昵称获取账号信息
    /// </summary>
    /// <param name="name"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<VmUserInfo?> GetUserInfoByNameAsync(
        string name,
        CancellationToken cancellationToken = default
    );

    /// <summary>
    /// 账号是否存在
    /// </summary>
    /// <param name="account"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<bool> IsExists(string account, CancellationToken cancellationToken = default);
}
评论加载中...