From a75f2dff23e3b5a13759cfc971713f66182f3413 Mon Sep 17 00:00:00 2001 From: zhangyuanpeng <1016062422@qq.com> Date: Fri, 13 Sep 2024 12:32:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E2=80=9C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=AD=E9=97=B4=E5=B1=82=E7=BA=A7=E8=8F=9C=E5=8D=95=E7=88=B6?= =?UTF-8?q?=E8=8A=82=E7=82=B9=EF=BC=8C=E5=AF=BC=E8=87=B4=E5=AD=90=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=A0=91=E7=9B=AE=E5=BD=95=E4=B8=8D=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E2=80=9D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/impl/MenuServiceImpl.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java index ef13a2cc..c65ad416 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java @@ -268,9 +268,32 @@ public class MenuServiceImpl extends ServiceImpl implements Me roleMenuService.refreshRolePermsCache(); } } + // 修改菜单如果有子菜单,则更新子菜单的树路径 + updateChildrenTreePath(entity.getId(), treePath); return result; } + /** + * 更新子菜单树路径 + * @param id 当前菜单ID + * @param treePath 当前菜单树路径 + */ + private void updateChildrenTreePath(Long id, String treePath) { + List children = this.list(new LambdaQueryWrapper().eq(Menu::getParentId, id)); + if (CollectionUtil.isNotEmpty(children)) { + // 子菜单的树路径等于父菜单的树路径加上父菜单ID + String childTreePath = treePath + "," + id; + this.update(new LambdaUpdateWrapper() + .eq(Menu::getParentId, id) + .set(Menu::getTreePath, childTreePath) + ); + for (Menu child : children) { + // 递归更新子菜单 + updateChildrenTreePath(child.getId(), childTreePath); + } + } + } + /** * 部门路径生成 *