From f4df0b5c294e598846dd565906d5027a7c043f25 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 18 七月 2024 15:39:36 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
index 2d08603..a787182 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
@@ -19,6 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.List;
@@ -102,20 +103,35 @@
* @return
*/
private String saveRoleMenu(Long roleId, List<SysMenu> menuList) {
- log.info("閰嶇疆瑙掕壊鑿滃崟鍏冲績");
+ log.info("閰嶇疆瑙掕壊鑿滃崟鍏崇郴");
+ if (CollectionUtils.isEmpty(menuList)) {
+ // 鍏堝垹闄ゅ師鏉ョ殑璁板綍锛屽啀淇濆瓨鏂扮殑
+ sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, roleId));
+ // 鍒犻櫎缂撳瓨
+ sysUserService.clearUserAuthorityInfoByRoleId(roleId);
+ return "success";
+ }
List<SysRoleMenu> roleMenuList = menuList.stream().map(menu -> {
SysRoleMenu roleMenu = new SysRoleMenu();
roleMenu.setRoleId(roleId);
roleMenu.setMenuId(menu.getId());
return roleMenu;
}).collect(Collectors.toList());
+ // 浣跨敤娴佸鐞嗚彍鍗曞垪琛紝鎻愬彇 children 鐨� id锛屽苟璁剧疆鍒� SysRoleMenu 涓�
+ List<SysRoleMenu> childrenList = menuList.stream()
+ .flatMap(menu -> menu.getChildren().stream()) // 鎵佸钩鍖栧鐞� children 鍒楄〃
+ .map(child -> {
+ SysRoleMenu roleMenu = new SysRoleMenu();
+ roleMenu.setRoleId(roleId);
+ roleMenu.setMenuId(child.getId()); // 璁剧疆 child 鐨� id 鍒� menuId
+ return roleMenu;
+ })
+ .collect(Collectors.toList());
log.info("娓呯┖瑙掕壊鏉冮檺琛ㄤ腑璇ヨ鑹蹭俊鎭�");
-
-
// 鍏堝垹闄ゅ師鏉ョ殑璁板綍锛屽啀淇濆瓨鏂扮殑
sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, roleId));
sysRoleMenuService.saveBatch(roleMenuList);
-
+ sysRoleMenuService.saveBatch(childrenList);
// 鍒犻櫎缂撳瓨
sysUserService.clearUserAuthorityInfoByRoleId(roleId);
return "success";
--
Gitblit v1.8.0