From f4f0243d21e2bbce279ae6d4e11cf0cc6cb0fa4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com>
Date: Tue, 26 Apr 2022 13:47:06 +0800
Subject: [PATCH] =?UTF-8?q?fix=E5=88=A0=E9=99=A4=E7=94=A8=E6=88=B7?=
=?UTF-8?q?=E5=90=8E=E9=83=A8=E9=97=A8=E3=80=81=E7=94=A8=E6=88=B7=E8=A7=92?=
=?UTF-8?q?=E8=89=B2=E6=95=B0=E6=8D=AE=E6=9C=AA=E5=88=A0=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ZR.Repository/System/SysUserRepository.cs | 2 +-
ZR.Service/System/IService/ISysUserService.cs | 2 ++
ZR.Service/System/SysUserService.cs | 34 ++++++++++++++++++-
3 files changed, 36 insertions(+), 2 deletions(-)
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 判断用户是否有数据权限
+ }
+ }
}
}