mirror of https://gitee.com/stylefeng/roses
【7.6.0】【sys】【permission】【createSelectTreeStructure】创建初始化应用的信息
parent
69d0ccfff3
commit
8a1f08d9ae
|
@ -1,6 +1,7 @@
|
|||
package cn.stylefeng.roses.kernel.sys.modular.role.factory;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.app.entity.SysApp;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenu;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.enums.PermissionNodeTypeEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.response.RoleBindPermissionItem;
|
||||
|
@ -51,19 +52,50 @@ public class PermissionAssignFactory {
|
|||
// 设置节点类型为2-菜单
|
||||
roleBindPermissionItem.setPermissionNodeType(PermissionNodeTypeEnum.MENU.getCode());
|
||||
|
||||
// 父级id是应用id
|
||||
roleBindPermissionItem.setNodeParentId(leafMenu.getAppId());
|
||||
|
||||
// 默认未选中
|
||||
roleBindPermissionItem.setChecked(false);
|
||||
|
||||
// 设置空子集
|
||||
roleBindPermissionItem.setChildren(new ArrayList<>());
|
||||
|
||||
roleBindPermissionItems.add(roleBindPermissionItem);
|
||||
}
|
||||
|
||||
return roleBindPermissionItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建权限绑定的应用信息
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2023/6/13 17:00
|
||||
*/
|
||||
public static List<RoleBindPermissionItem> createApps(List<SysApp> sysApps) {
|
||||
|
||||
if (ObjectUtil.isEmpty(sysApps)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
ArrayList<RoleBindPermissionItem> appResults = new ArrayList<>();
|
||||
|
||||
// 封装响应结果
|
||||
for (SysApp sysApp : sysApps) {
|
||||
|
||||
RoleBindPermissionItem roleBindPermissionItem = new RoleBindPermissionItem();
|
||||
|
||||
// 设置应用id
|
||||
roleBindPermissionItem.setNodeId(sysApp.getAppId());
|
||||
|
||||
// 设置应用名称
|
||||
roleBindPermissionItem.setNodeName(sysApp.getAppName());
|
||||
|
||||
// 设置未选中
|
||||
roleBindPermissionItem.setChecked(false);
|
||||
|
||||
// 设置类型为1-应用
|
||||
roleBindPermissionItem.setPermissionNodeType(PermissionNodeTypeEnum.APP.getCode());
|
||||
|
||||
appResults.add(roleBindPermissionItem);
|
||||
}
|
||||
|
||||
return appResults;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -56,18 +56,22 @@ public class PermissionAssignServiceImpl implements PermissionAssignService {
|
|||
menuLambdaQueryWrapper.orderByAsc(SysMenu::getMenuSort);
|
||||
List<SysMenu> totalMenus = this.sysMenuService.list(menuLambdaQueryWrapper);
|
||||
|
||||
// 组装所有的叶子节点菜单
|
||||
// 组装所有的叶子节点菜单【初始化菜单】
|
||||
List<RoleBindPermissionItem> totalResultMenus = PermissionAssignFactory.createPermissionMenus(totalMenus);
|
||||
|
||||
// 查询菜单对应的所有应用
|
||||
Set<String> appIdList = totalResultMenus.stream().map(RoleBindPermissionItem::getNodeParentId).collect(Collectors.toSet());
|
||||
Set<Long> appIdList = totalMenus.stream().map(SysMenu::getAppId).collect(Collectors.toSet());
|
||||
LambdaQueryWrapper<SysApp> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysApp::getAppId, appIdList);
|
||||
queryWrapper.select(SysApp::getAppId, SysApp::getAppName);
|
||||
List<SysApp> totalAppList = sysAppService.list(queryWrapper);
|
||||
|
||||
// 组装所有的应用节点信息
|
||||
// 组装所有的应用节点信息【初始化应用】
|
||||
List<RoleBindPermissionItem> totalResultApps = PermissionAssignFactory.createApps(totalAppList);
|
||||
|
||||
|
||||
// 组装所有的应用节点信息
|
||||
|
||||
|
||||
// 获取所有的菜单上的功能
|
||||
|
||||
|
|
Loading…
Reference in New Issue