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());