Merge branch 'master' of http://118.178.224.202:3000/ewide/ewide_core
This commit is contained in:
@@ -137,7 +137,7 @@ namespace Ewide.Core
|
||||
/// <summary>
|
||||
/// 已有相同组织机构,编码或名称相同
|
||||
/// </summary>
|
||||
[ErrorCodeItemMetadata("已有相同编码组织机构")]
|
||||
[ErrorCodeItemMetadata("已有相同组织机构,编码或名称相同")]
|
||||
D2002,
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -10,10 +10,10 @@ namespace Ewide.Core
|
||||
{
|
||||
市住建部门 = 1,
|
||||
|
||||
区住建部门 = 11,
|
||||
区住建部门 = 2,
|
||||
|
||||
乡镇街道办事处 = 21,
|
||||
乡镇街道办事处 = 3,
|
||||
|
||||
片区 = 31
|
||||
片区 = 4
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Ewide.Core
|
||||
{
|
||||
@@ -10,7 +11,15 @@ namespace Ewide.Core
|
||||
SysUser User { get; }
|
||||
string UserId { get; }
|
||||
|
||||
Task<SysUser> CheckUserAsync(string userId, bool tracking = true);
|
||||
Task<SysUser> CheckUserAsync(string userId);
|
||||
Task<SysUser> CheckUserAsync();
|
||||
Task<SysEmp> GetUserEmpInfo(string userId);
|
||||
Task<SysEmp> GetUserEmpInfo();
|
||||
Task<SysOrg> GetUserOrgInfo(string userId);
|
||||
Task<SysOrg> GetUserOrgInfo();
|
||||
Task<List<string>> GetUserRoleIdList(string userId);
|
||||
Task<List<string>> GetUserRoleIdList();
|
||||
Task<List<SysRole>> GetUserRoleList(string userId);
|
||||
Task<List<SysRole>> GetUserRoleList();
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,10 @@
|
||||
using Furion.DependencyInjection;
|
||||
using Furion.FriendlyException;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Ewide.Core
|
||||
{
|
||||
@@ -12,7 +15,10 @@ namespace Ewide.Core
|
||||
public class UserManager : IUserManager, IScoped
|
||||
{
|
||||
private readonly IRepository<SysUser> _sysUserRep; // 用户表仓储
|
||||
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
|
||||
@@ -40,12 +46,19 @@ namespace Ewide.Core
|
||||
get => _sysUserRep.Find(UserId);
|
||||
}
|
||||
|
||||
public UserManager(IRepository<SysUser> sysUserRep,
|
||||
public UserManager(
|
||||
IRepository<SysUser> sysUserRep,
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -53,14 +66,22 @@ namespace Ewide.Core
|
||||
/// 获取用户信息
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="tracking"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<SysUser> CheckUserAsync(string userId, bool tracking = true)
|
||||
public async Task<SysUser> CheckUserAsync(string userId)
|
||||
{
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == userId, tracking);
|
||||
var user = await _sysUserRep.FirstOrDefaultAsync(u => u.Id == userId, false);
|
||||
return user ?? throw Oops.Oh(ErrorCode.D1002);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取用户信息
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<SysUser> CheckUserAsync()
|
||||
{
|
||||
return await CheckUserAsync(UserId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取用户员工信息
|
||||
/// </summary>
|
||||
@@ -71,5 +92,76 @@ namespace Ewide.Core
|
||||
var emp = await _sysEmpRep.FirstOrDefaultAsync(u => u.Id == userId, false);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user