From 2692d6df714ea4415d0b709a409669b23510ac3e Mon Sep 17 00:00:00 2001 From: aeizzz <1129603149@qq.com> Date: Mon, 26 Dec 2022 19:27:04 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20Fixing=20a=20bug.=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=A7=9F=E6=88=B7=E6=97=B6=E7=A7=9F=E6=88=B7=E5=A5=97=E9=A4=90?= =?UTF-8?q?=E5=8A=9F=E8=83=BDbug=EF=BC=8C=E9=BB=98=E8=AE=A4=E7=9A=84?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=B2=A1=E6=9C=89=E6=95=B0=E6=8D=AE=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=AF=BC=E8=87=B4=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysTenantServiceImpl.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java index d094ce313..28344a9fb 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java @@ -26,6 +26,7 @@ import com.pig4cloud.pigx.admin.service.*; import com.pig4cloud.pigx.common.core.constant.CacheConstants; import com.pig4cloud.pigx.common.core.constant.CommonConstants; import com.pig4cloud.pigx.common.core.util.SpringContextHolder; +import com.pig4cloud.pigx.common.data.datascope.DataScopeTypeEnum; import com.pig4cloud.pigx.common.data.resolver.ParamResolver; import com.pig4cloud.pigx.common.data.tenant.TenantBroker; import lombok.AllArgsConstructor; @@ -117,9 +118,9 @@ public class SysTenantServiceImpl extends ServiceImpl dictList = new ArrayList<>(32); List dictIdList = new ArrayList<>(32); List dictItemList = new ArrayList<>(64); - List menuList = new ArrayList<>(128); List clientDetailsList = new ArrayList<>(16); List publicParamList = new ArrayList<>(64); + List menuList = new ArrayList<>(); TenantBroker.runAs(defaultId, (id) -> { // 查询系统内置字典 @@ -128,12 +129,16 @@ public class SysTenantServiceImpl extends ServiceImpllambdaQuery().in(SysDictItem::getDictId, dictIdList))); - // 查询当前租户菜单 - menuList.addAll(menuService.list()); // 查询客户端配置 clientDetailsList.addAll(clientServices.list()); // 查询系统参数配置 publicParamList.addAll(paramService.list()); + + SysTenantMenu tenantMenu = sysTenantMenuService.getById(sysTenant.getMenuId()); + String[] split = tenantMenu.getMenuIds().split(","); + List newMenuList = menuService + .list(Wrappers.lambdaQuery().in(SysMenu::getMenuId,split)); + menuList.addAll(newMenuList); }); // 保证插入租户为新的租户 @@ -157,12 +162,14 @@ public class SysTenantServiceImpl extends ServiceImpl newMenuList = menuService - .list(Wrappers.lambdaQuery().in(SysMenu::getMenuId, tenantMenu.getMenuIds())); + // 重新查询出所有的菜单关联角色 + List list = menuService.list(); // 查询全部菜单,构造角色菜单关系 - List roleMenuList = newMenuList.stream().map(menu -> { + List roleMenuList = list.stream().map(menu -> { SysRoleMenu roleMenu = new SysRoleMenu(); roleMenu.setRoleId(role.getRoleId()); roleMenu.setMenuId(menu.getMenuId());