diff --git a/ZR.Repository/System/SysUserRepository.cs b/ZR.Repository/System/SysUserRepository.cs index 10fb800..6b9fa61 100644 --- a/ZR.Repository/System/SysUserRepository.cs +++ b/ZR.Repository/System/SysUserRepository.cs @@ -63,7 +63,7 @@ namespace ZR.Repository.System /// public SysUser SelectUserById(long userId) { - return Context.Queryable().Where(f => f.UserId == userId).First(); + return Context.Queryable().Filter(null, true).Where(f => f.UserId == userId).First(); } /// diff --git a/ZR.Service/System/IService/ISysUserService.cs b/ZR.Service/System/IService/ISysUserService.cs index 35848e5..8f2997b 100644 --- a/ZR.Service/System/IService/ISysUserService.cs +++ b/ZR.Service/System/IService/ISysUserService.cs @@ -68,5 +68,7 @@ namespace ZR.Service.System.IService /// /// SysUser Register(RegisterDto dto); + void CheckUserAllowed(SysUser user); + void CheckUserDataScope(long userid, long loginUserId); } } diff --git a/ZR.Service/System/SysUserService.cs b/ZR.Service/System/SysUserService.cs index daa2202..c9a6b0f 100644 --- a/ZR.Service/System/SysUserService.cs +++ b/ZR.Service/System/SysUserService.cs @@ -1,5 +1,6 @@ using Infrastructure; using Infrastructure.Attribute; +using Microsoft.AspNetCore.Http; using System; using System.Collections; using System.Collections.Generic; @@ -144,10 +145,15 @@ namespace ZR.Service /// /// 删除用户 /// - /// + /// /// public int DeleteUser(long userid) { + CheckUserAllowed(new SysUser() { UserId = userid}); + //删除用户与角色关联 + UserRoleService.DeleteUserRoleByUserId((int)userid); + // 删除用户与岗位关联 + UserPostService.Delete(userid); return UserRepository.DeleteUser(userid); } @@ -189,5 +195,31 @@ namespace ZR.Service return user; } + /// + /// 校验角色是否允许操作 + /// + /// + public void CheckUserAllowed(SysUser user) + { + if (user.IsAdmin()) + { + throw new CustomException("不允许操作超级管理员角色"); + } + } + + /// + /// 校验用户是否有数据权限 + /// + /// + /// + public void CheckUserDataScope(long userid, long loginUserId) + { + if (!SysUser.IsAdmin(loginUserId)) + { + SysUser user = new SysUser() { UserId = userid}; + + //TODO 判断用户是否有数据权限 + } + } } }