【7.3.1】修复绑定菜单的范围问题

pull/40/MERGE
fengshuonan 2022-10-29 23:08:42 +08:00
parent 82473b53e6
commit 37f1feb348
1 changed files with 6 additions and 5 deletions

View File

@ -589,9 +589,14 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_UNCOMMITTED) @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_UNCOMMITTED)
public List<MenuAndButtonTreeResponse> grantRoleMenusGrantAll(SysRoleRequest sysRoleRequest) { public List<MenuAndButtonTreeResponse> grantRoleMenusGrantAll(SysRoleRequest sysRoleRequest) {
// 根据参数的前后台类型获取所有菜单id
AntdvFrontTypeEnum antdvFrontTypeEnum = AntdvFrontTypeEnum.parseToEnum(sysRoleRequest.getResourceBizType());
List<Long> totalMenuIdList = this.menuServiceApi.getTotalMenuIdList(antdvFrontTypeEnum);
// 删除角色绑定的所有菜单 // 删除角色绑定的所有菜单
LambdaUpdateWrapper<SysRoleMenu> wrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<SysRoleMenu> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(SysRoleMenu::getRoleId, sysRoleRequest.getRoleId()); wrapper.eq(SysRoleMenu::getRoleId, sysRoleRequest.getRoleId());
wrapper.in(SysRoleMenu::getMenuId, totalMenuIdList);
this.roleMenuService.remove(wrapper); this.roleMenuService.remove(wrapper);
// 获取当前角色分配的菜单权限 // 获取当前角色分配的菜单权限
@ -602,10 +607,6 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
return roleBindMenuList; return roleBindMenuList;
} }
// 获取所有前台菜单id
AntdvFrontTypeEnum antdvFrontTypeEnum = AntdvFrontTypeEnum.parseToEnum(sysRoleRequest.getResourceBizType());
List<Long> totalMenuIdList = this.menuServiceApi.getTotalMenuIdList(antdvFrontTypeEnum);
// 批量保存绑定的菜单集合 // 批量保存绑定的菜单集合
List<SysRoleMenu> sysRoleMenus = new ArrayList<>(); List<SysRoleMenu> sysRoleMenus = new ArrayList<>();
for (Long menuId : totalMenuIdList) { for (Long menuId : totalMenuIdList) {