using JNPF.Common.Models.User;
using JNPF.Systems.Entitys.Permission;
using System.Linq.Expressions;
namespace JNPF.Systems.Interfaces.Permission;
///
/// 业务契约:用户信息.
///
public interface IUsersService
{
///
/// 获取用户信息 根据用户ID.
///
/// 用户ID.
///
UserEntity GetInfoByUserId(string userId);
///
/// 获取用户信息 根据用户ID.
///
/// 用户ID.
///
Task GetInfoByUserIdAsync(string userId);
///
/// 根据用户账户.
///
/// 用户账户.
///
Task GetInfoByAccount(string account);
///
/// 获取用户信息 根据登录信息.
///
/// 用户账户.
/// 用户密码.
///
Task GetInfoByLogin(string account, string password);
///
/// 根据用户姓名获取用户ID.
///
/// 用户姓名.
///
Task GetUserIdByRealName(string realName);
///
/// 获取用户名.
///
/// 用户id.
/// 是否显示账号.
///
Task GetUserName(string userId, bool isAccount = true);
///
/// 获取用户列表.
///
Task> GetList();
///
/// 用户岗位.
///
///
///
Task> GetPosition(string PositionIds);
///
/// 表达式获取用户.
///
/// where 条件表达式.
///
Task GetUserByExp(Expression> expression);
///
/// 表达式获取用户列表.
///
/// where 条件表达式.
///
Task> GetUserListByExp(Expression> expression);
///
/// 表达式获取指定字段的用户列表.
///
/// where 条件表达式.
/// select 选择字段表达式.
///
Task> GetUserListByExp(Expression> expression, Expression> select);
Task Receive(string message);
}