Search before asking
What happened
RoleMenuServiceImpl 类
// if not empty , delete all role menus
if (CollUtil.isNotEmpty(roleMenus)) {
roleMenus.forEach(rm -> {
getBaseMapper().delete(new LambdaQueryWrapper().eq(RoleMenu::getMenuId, rm.getMenuId()));
});
}
给角色授权菜单的逻辑里删除角色菜单只匹配菜单id,会把其他角色同样配置了相同菜单的全删了
What you expected to happen
// if not empty , delete all role menus
if (CollUtil.isNotEmpty(roleMenus)) {
roleMenus.forEach(rm -> {
getBaseMapper().delete(new LambdaQueryWrapper().eq(RoleMenu::getMenuId, rm.getMenuId())
.eq(RoleMenu::getRoleId, rm.getRoleId()));  //修复bug,添加菜单角色id过滤,避免删除其他角色相同菜单id
});
}
How to reproduce
更新角色菜单时,如果其他角色也有相同的菜单,会把其他角色的菜单权限全删了
Anything else
No response
Version
1.2.3
Are you willing to submit PR?
Code of Conduct