谭斌 há 2 anos atrás
pai
commit
621d45760b

+ 11 - 11
authorize-api-service/src/main/java/com/xy/service/impl/SysRoleMenuServiceImpl.java

@@ -75,19 +75,19 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
         if (CollUtil.isEmpty(sysRoleMenuList)) {
             return Boolean.TRUE;
         }
+        SysRoleMenu reqSysRoleMenu = sysRoleMenuList.get(0);
         //先将现有的管理员权限全部更新为false,因为前端只传全量的有管理员权限的菜单
-        sysRoleMenuList.forEach(sysRoleMenu -> {
-            SysRoleMenu roleMenu = this.getOne(Wrappers.<SysRoleMenu>lambdaQuery()
-                    .eq(SysRoleMenu::getSysId, sysRoleMenu.getSysId())
-                    .eq(SysRoleMenu::getRoleId, sysRoleMenu.getRoleId())
-                    .eq(SysRoleMenu::getMenuId, sysRoleMenu.getMenuId())
-            );
-            if (roleMenu != null) {
-                roleMenu.setSelectAdmin(Boolean.FALSE);
-                updateById(roleMenu);
-            }
+        List<SysRoleMenu> roleMenuList = this.list(
+                Wrappers.<SysRoleMenu>lambdaQuery().eq(SysRoleMenu::getSysId, reqSysRoleMenu.getSysId())
+                        .eq(SysRoleMenu::getRoleId, reqSysRoleMenu.getRoleId()));
 
-        });
+        if (CollUtil.isNotEmpty(roleMenuList)) {
+            List<SysRoleMenu> updateRoleMenuList = roleMenuList.stream().map(sysRoleMenu -> {
+                sysRoleMenu.setSelectAdmin(Boolean.FALSE);
+                return sysRoleMenu;
+            }).collect(Collectors.toList());
+            updateBatchById(updateRoleMenuList);
+        }
 
         List<SysRoleMenu> updateList = new ArrayList<>(16);
         List<SysRoleMenu> addList = new ArrayList<>(16);