三级菜单
public List<PermissionVo> queryPerList() {
List<PermissionVo> permissionVoList = new ArrayList<>(); //所有菜单
List<PermissionVo> permissionVos = new ArrayList<>(); //一级菜单
List<PermissionVo> pmSysPermissionDOList = pmSysGradeDao.queryPerList(); //权限 集合
//1.获取所有菜单目录
for (PermissionVo permissionVo : pmSysPermissionDOList) {
if ("menu".equals(permissionVo.getPermType())) {
permissionVoList.add(permissionVo);
("菜单目录:" + permissionVo.getId() + "---" + permissionVo.getPreCName());
}
}
("所有 菜单目录个数:" + permissionVoList.size());
//2.获取 菜单一级目录
for (PermissionVo permissionVo : pmSysPermissionDOList) {
if ("0".equals(permissionVo.getParentD())) {
permissionVos.add(permissionVo);
("菜单一级目录:" + permissionVo.getId() + "---" + permissionVo.getPreCName());
}
}
("菜单一级目录个数:" + permissionVos.size());
//3.将 二級目录 赋予 一级目录
for (PermissionVo permissionVo : permissionVos) {
String id = permissionVo.getId();
//子菜单集合
List<PermissionVo> children = new ArrayList<>();
for (PermissionVo permissMenu : permissionVoList) {
if (id.equals(permissMenu.getParentD())) {
children.add(permissMenu);
}
permissionVo.setChildren(children);
}
for (PermissionVo permissionChild : children) {
String id1 = permissionChild.getId();
//将 三级权限 赋予 二级菜单-------子菜单按钮
List<PermissionVo> buttons = new ArrayList<>();
for (PermissionVo permissionButton : pmSysPermissionDOList) {
if ("permission".equals(permissionButton.getPermType()) && id1.equals(permissionButton.getParentD())) {
buttons.add(permissionButton);
}
}
permissionChild.setButtons(buttons);
}
}
return permissionVos;
}实体
public class PermissionVo {
//菜单ID
private String id;
//菜单中文名
private String preCName;
//父级菜单ID
private String parentD;
//菜单或按钮
private String permType;
//菜单URl
private String url;
//子菜单集合
List<PermissionVo> children;
//子菜单按钮
List<PermissionVo> buttons;
}
















