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 判断用户是否有数据权限
+ }
+ }
}
}