From 3244b550596e0330031b3f4547356927df83b0ad Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 19 五月 2025 11:48:35 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 766820b..c8116bc 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -13,6 +13,7 @@
 import com.ruoyi.chargingPile.api.feignClient.SiteClient;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.other.api.feignClient.RoleSiteClient;
 import com.ruoyi.other.api.feignClient.UserSiteClient;
 import com.ruoyi.system.api.query.ChangeUserQuery;
@@ -89,6 +90,9 @@
 	
 	@Resource
 	private ISysRoleService sysRoleService;
+	
+	@Resource
+	private TokenService tokenService;
 	
 	
 	/**
@@ -235,7 +239,8 @@
 	 */
 	@Override
 	public void checkUserAllowed(SysUser user) {
-		if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) {
+		Long userid = tokenService.getLoginUser().getUserid();
+		if (StringUtils.isNotNull(user.getUserId()) && !userid.equals(user.getUserId()) && user.isAdmin()) {
 			throw new ServiceException("不允许操作超级管理员用户");
 		}
 	}
@@ -247,7 +252,7 @@
 	 */
 	@Override
 	public void checkUserDataScope(Long userId) {
-		if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
+		if (!SysUser.isAdmin(tokenService.getLoginUser().getUserid())) {
 			SysUser user = new SysUser();
 			user.setUserId(userId);
 			List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user);
@@ -537,11 +542,11 @@
 				data1.addAll(data);
 			}
 			Set<Integer> siteIds = new HashSet<>(data1);
-			sysUser.setSiteIds(siteIds.stream().collect(Collectors.toList()));
 			List<Site> data = siteClient.getSiteByIds(siteIds.stream().collect(Collectors.toList())).getData();
 			if (null != data) {
 				List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList());
 				sysUser.setSiteNames(siteNames);
+				sysUser.setSiteIds(data.stream().map(Site::getId).collect(Collectors.toList()));
 			}
 			List<String> roleNames = new ArrayList<>();
 			for (SysUserRole sysUserRole : list1) {

--
Gitblit v1.7.1