update 扩展userManager

This commit is contained in:
2021-06-01 10:21:07 +08:00
parent 27c19929cb
commit 08e4573e19
2 changed files with 69 additions and 4 deletions

View File

@@ -18,6 +18,7 @@ namespace Ewide.Core
private readonly IRepository<SysRole> _sysRoleRep;
private readonly IRepository<SysUserRole> _sysUserRoleRep;
private readonly IRepository<SysEmp> _sysEmpRep; // 员工表
private readonly IRepository<SysOrg> _sysOrgRep;
private readonly IHttpContextAccessor _httpContextAccessor;
public string UserId
@@ -50,12 +51,14 @@ namespace Ewide.Core
IRepository<SysRole> sysRoleRep,
IRepository<SysUserRole> sysUserRoleRep,
IRepository<SysEmp> sysEmpRep,
IRepository<SysOrg> sysOrgRep,
IHttpContextAccessor httpContextAccessor)
{
_sysUserRep = sysUserRep;
_sysRoleRep = sysRoleRep;
_sysUserRoleRep = sysUserRoleRep;
_sysEmpRep = sysEmpRep;
_sysOrgRep = sysOrgRep;
_httpContextAccessor = httpContextAccessor;
}
@@ -63,7 +66,6 @@ namespace Ewide.Core
/// 获取用户信息
/// </summary>
/// <param name="userId"></param>
/// <param name="tracking"></param>
/// <returns></returns>
public async Task<SysUser> CheckUserAsync(string userId)
{
@@ -71,6 +73,10 @@ namespace Ewide.Core
return user ?? throw Oops.Oh(ErrorCode.D1002);
}
/// <summary>
/// 获取用户信息
/// </summary>
/// <returns></returns>
public async Task<SysUser> CheckUserAsync()
{
return await CheckUserAsync(UserId);
@@ -87,20 +93,75 @@ namespace Ewide.Core
return emp ?? throw Oops.Oh(ErrorCode.D1002);
}
/// <summary>
/// 获取用户员工信息
/// </summary>
/// <returns></returns>
public async Task<SysEmp> GetUserEmpInfo()
{
return await GetUserEmpInfo(UserId);
}
/// <summary>
/// 获取用户部门信息
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public async Task<SysOrg> GetUserOrgInfo(string userId)
{
var emp = await GetUserEmpInfo(userId);
var org = await _sysOrgRep.FirstOrDefaultAsync(u => u.Id == emp.OrgId, false);
return org ?? throw Oops.Oh(ErrorCode.D1002);
}
/// <summary>
/// 获取用户部门信息
/// </summary>
/// <returns></returns>
public async Task<SysOrg> GetUserOrgInfo()
{
return await GetUserOrgInfo(UserId);
}
/// <summary>
/// 获取用户角色Id列表
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public async Task<List<string>> GetUserRoleIdList(string userId)
{
var roleIds = await _sysUserRoleRep.DetachedEntities.Where(u => u.SysUserId == userId).Select(u => u.SysRoleId).ToListAsync();
return roleIds;
}
/// <summary>
/// 获取用户角色Id列表
/// </summary>
/// <returns></returns>
public async Task<List<string>> GetUserRoleIdList()
{
return await GetUserRoleIdList(UserId);
}
/// <summary>
/// 获取用户角色列表
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public async Task<List<SysRole>> GetUserRoleList(string userId)
{
var roleIds = await GetUserRoleIdList(userId);
var roles = await _sysRoleRep.DetachedEntities.Where(u => roleIds.Contains(u.Id)).ToListAsync();
return roles;
}
/// <summary>
/// 获取用户角色列表
/// </summary>
/// <returns></returns>
public async Task<List<SysRole>> GetUserRoleList()
{
return await GetUserRoleList(UserId);
}
}
}