From 37f1feb34820ae6205e7cfe94fd895688d91975c Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Sat, 29 Oct 2022 23:08:42 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.3.1=E3=80=91=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E8=8F=9C=E5=8D=95=E7=9A=84=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/role/service/impl/SysRoleServiceImpl.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java index a0f69010c..b3ff8ca05 100644 --- a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java +++ b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java @@ -589,9 +589,14 @@ public class SysRoleServiceImpl extends ServiceImpl impl @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_UNCOMMITTED) public List grantRoleMenusGrantAll(SysRoleRequest sysRoleRequest) { + // 根据参数的前后台类型,获取所有菜单id + AntdvFrontTypeEnum antdvFrontTypeEnum = AntdvFrontTypeEnum.parseToEnum(sysRoleRequest.getResourceBizType()); + List totalMenuIdList = this.menuServiceApi.getTotalMenuIdList(antdvFrontTypeEnum); + // 删除角色绑定的所有菜单 LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); wrapper.eq(SysRoleMenu::getRoleId, sysRoleRequest.getRoleId()); + wrapper.in(SysRoleMenu::getMenuId, totalMenuIdList); this.roleMenuService.remove(wrapper); // 获取当前角色分配的菜单权限 @@ -601,11 +606,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl if (!sysRoleRequest.getTotalSelectFlag()) { return roleBindMenuList; } - - // 获取所有前台菜单id - AntdvFrontTypeEnum antdvFrontTypeEnum = AntdvFrontTypeEnum.parseToEnum(sysRoleRequest.getResourceBizType()); - List totalMenuIdList = this.menuServiceApi.getTotalMenuIdList(antdvFrontTypeEnum); - + // 批量保存绑定的菜单集合 List sysRoleMenus = new ArrayList<>(); for (Long menuId : totalMenuIdList) {