From 733dcb9fc0bce8d73d36108889a065197ba7c740 Mon Sep 17 00:00:00 2001 From: leijiaping Date: Tue, 27 Oct 2026 15:18:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9C=BA=E6=9E=84=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E5=8F=AF=E4=BF=AE=E6=94=B9=E6=9C=AC=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF(modify=5Forg=5Fuser=5Finfo?= =?UTF-8?q?=E5=8F=8C=E6=A1=A3=E6=9D=83=E9=99=90+=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E8=8C=83=E5=9B=B4=E6=A0=A1=E9=AA=8C),=E7=A6=81=E6=94=B9?= =?UTF-8?q?=E8=B6=85=E7=AE=A1;isSuperior=E7=A9=BA=E5=80=BC=E9=98=B2?= =?UTF-8?q?=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/senmesh/common/util/UserContextHolder.java | 2 +- .../usercenter/user/service/impl/UserServiceImpl.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/senmesh/common/util/UserContextHolder.java b/src/main/java/com/senmesh/common/util/UserContextHolder.java index fb3d865..9c101ac 100644 --- a/src/main/java/com/senmesh/common/util/UserContextHolder.java +++ b/src/main/java/com/senmesh/common/util/UserContextHolder.java @@ -150,7 +150,7 @@ public class UserContextHolder { */ public static boolean isSuperior() { IUserDetail userDTO = getLoginUser(); - return userDTO != null && userDTO.getSupeiror(); + return userDTO != null && Boolean.TRUE.equals(userDTO.getSupeiror()); } /** diff --git a/src/main/java/com/senmesh/usercenter/user/service/impl/UserServiceImpl.java b/src/main/java/com/senmesh/usercenter/user/service/impl/UserServiceImpl.java index 413d646..8745a40 100644 --- a/src/main/java/com/senmesh/usercenter/user/service/impl/UserServiceImpl.java +++ b/src/main/java/com/senmesh/usercenter/user/service/impl/UserServiceImpl.java @@ -925,11 +925,15 @@ public class UserServiceImpl implements UserService { @Transactional @AutoUnLock public Boolean modifyOrgUserInfo(OrgUserEditDTO orgUserEditDTO) { - Assert.isTrue(UserContextHolder.isSuperior(), "当前用户无操作权限"); + // 平台超管可修改全部用户,机构管理员仅可修改本机构用户 + Assert.isTrue(UserContextHolder.isSuperior() || UserContextHolder.isAdministrator(), + "当前用户无操作权限"); ValidateUtils.validateBiz(orgUserEditDTO); Long userId = orgUserEditDTO.getId(); + this.checkOrgScopeOfOperateUser(userId); UserDTO userDto = findUserDTO(UserQueryDTO.builder().id(userId).build()); Assert.notNull(userDto, userId + "-用户不可用"); + Assert.isTrue(!Boolean.TRUE.equals(userDto.getSupeiror()), "不能修改超级管理员账号"); User user = new User(); user.setId(userId); //校验