From 8abe663744435869eb03ad4f0901b3f0e3bd1431 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=87=AA=E5=B8=A6=E5=A4=A7=E4=BD=AC=E6=B0=94=E5=9C=BA?= <188633308@qq.com> Date: Tue, 1 Jun 2021 09:52:21 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Api/Ewide.Core/Manager/IUserManager.cs | 9 ++++-- Api/Ewide.Core/Manager/UserManager.cs | 41 ++++++++++++++++++++++---- 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/Api/Ewide.Core/Manager/IUserManager.cs b/Api/Ewide.Core/Manager/IUserManager.cs index 44dd830..658afd8 100644 --- a/Api/Ewide.Core/Manager/IUserManager.cs +++ b/Api/Ewide.Core/Manager/IUserManager.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System.Collections.Generic; +using System.Threading.Tasks; namespace Ewide.Core { @@ -10,7 +11,11 @@ namespace Ewide.Core SysUser User { get; } string UserId { get; } - Task CheckUserAsync(string userId, bool tracking = true); + Task CheckUserAsync(); + Task CheckUserAsync(string userId); + Task GetUserEmpInfo(); Task GetUserEmpInfo(string userId); + Task> GetUserRoleIdList(); + Task> GetUserRoleIdList(string userId); } } \ No newline at end of file diff --git a/Api/Ewide.Core/Manager/UserManager.cs b/Api/Ewide.Core/Manager/UserManager.cs index 27ae40c..ee92244 100644 --- a/Api/Ewide.Core/Manager/UserManager.cs +++ b/Api/Ewide.Core/Manager/UserManager.cs @@ -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,6 +15,8 @@ namespace Ewide.Core public class UserManager : IUserManager, IScoped { private readonly IRepository _sysUserRep; // 用户表仓储 + private readonly IRepository _sysRoleRep; + private readonly IRepository _sysUserRoleRep; private readonly IRepository _sysEmpRep; // 员工表 private readonly IHttpContextAccessor _httpContextAccessor; @@ -40,11 +45,16 @@ namespace Ewide.Core get => _sysUserRep.Find(UserId); } - public UserManager(IRepository sysUserRep, - IRepository sysEmpRep, - IHttpContextAccessor httpContextAccessor) + public UserManager( + IRepository sysUserRep, + IRepository sysRoleRep, + IRepository sysUserRoleRep, + IRepository sysEmpRep, + IHttpContextAccessor httpContextAccessor) { _sysUserRep = sysUserRep; + _sysRoleRep = sysRoleRep; + _sysUserRoleRep = sysUserRoleRep; _sysEmpRep = sysEmpRep; _httpContextAccessor = httpContextAccessor; } @@ -55,12 +65,17 @@ namespace Ewide.Core /// /// /// - public async Task CheckUserAsync(string userId, bool tracking = true) + public async Task 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); } + public async Task CheckUserAsync() + { + return await CheckUserAsync(UserId); + } + /// /// 获取用户员工信息 /// @@ -71,5 +86,21 @@ namespace Ewide.Core var emp = await _sysEmpRep.FirstOrDefaultAsync(u => u.Id == userId, false); return emp ?? throw Oops.Oh(ErrorCode.D1002); } + + public async Task GetUserEmpInfo() + { + return await GetUserEmpInfo(UserId); + } + + public async Task> GetUserRoleIdList(string userId) + { + var roleIds = await _sysUserRoleRep.DetachedEntities.Where(u => u.SysUserId == userId).Select(u => u.SysRoleId).ToListAsync(); + return roleIds; + } + + public async Task> GetUserRoleIdList() + { + return await GetUserRoleIdList(UserId); + } } } \ No newline at end of file