Commit 3b55a0be authored by 李德才's avatar 李德才

一级菜单为空造成程序空指针

parent d1c486e7
......@@ -180,44 +180,52 @@ public class MenuController extends Controller {
}
public void getMenuGroup() {
String userName = this.getAttrForStr("username");
Integer userId = InfoUser.getUser(userName).getId();
List<Menu> allMenuList=null ;
if("admin".equals(userName)) {
allMenuList = new Menu().dao().template("getMenuAll").find();
}else {
allMenuList = new Menu().dao().template("getMenuGroup", Kv.by("userId", userId)).find();
}
List<System> systems = System.dao.template("getSystems").find();
Map<Integer, System> systemMap = systems.stream().collect(Collectors.toMap(System::getId, System -> System));
List<MenuStar> stars = MenuStar.dao.template("getMenuStar", userId).find();
try {
String userName = this.getAttrForStr("username");
Integer userId = InfoUser.getUser(userName).getId();
List<Menu> allMenuList = null;
if ("admin".equals(userName)) {
allMenuList = new Menu().dao().template("getMenuAll").find();
} else {
allMenuList = new Menu().dao().template("getMenuGroup", Kv.by("userId", userId)).find();
}
List<System> systems = System.dao.template("getSystems").find();
Map<Integer, System> systemMap = systems.stream().collect(Collectors.toMap(System::getId, System -> System));
List<MenuStar> stars = MenuStar.dao.template("getMenuStar", userId).find();
// 系统中的菜单,用于系统正常跳转
Map<String, Map<String, List<Menu>>> menuGroup = new LinkedHashMap<>();
Map<String, Map<String, List<Menu>>> menuGroup = new LinkedHashMap<>();
// 页面中显示的菜单,过滤隐藏的菜单
Map<String, Map<String, List<Menu>>> viewApps = new LinkedHashMap<>();
allMenuList.forEach(menu -> {
// 处理菜单属性
System system = systemMap.get(menu.getSystemId());
menu.put("system", system.getName());
menu.put("url", system.getUrl());
Map<String, Map<String, List<Menu>>> viewApps = new LinkedHashMap<>();
for (Menu menu : allMenuList) {
// 处理菜单属性
System system = systemMap.get(menu.getSystemId());
// CP-1679 lidecai 20201211
if (system == null || menu.getFirstLevelName() == null) {
continue;
}
menu.put("system", system.getName());
menu.put("url", system.getUrl());
// 过滤不需要显示的菜单
if (menu.getHidden() == null || menu.getHidden() != 1) {
menu.put("star", exist(menu.getId(), stars));
if (menu.getHidden() == null || menu.getHidden() != 1) {
menu.put("star", exist(menu.getId(), stars));
// 一级菜单组
viewApps.putIfAbsent(menu.getFirstLevelName()==null?"":menu.getFirstLevelName(), new HashMap<String, List<Menu>>());
viewApps.putIfAbsent(menu.getFirstLevelName() == null ? "" : menu.getFirstLevelName(),new HashMap<String, List<Menu>>());
// 二级菜单组
viewApps.get(menu.getFirstLevelName()).putIfAbsent(menu.getSecondLevelName()==null?"":menu.getSecondLevelName(), new ArrayList<Menu>());
viewApps.get(menu.getFirstLevelName()).putIfAbsent(menu.getSecondLevelName() == null ? "" : menu.getSecondLevelName(),new ArrayList<Menu>());
// 最终菜单
viewApps.get(menu.getFirstLevelName()).get(menu.getSecondLevelName()==null?"":menu.getSecondLevelName()).add(menu);
}
viewApps.get(menu.getFirstLevelName()).get(menu.getSecondLevelName() == null ? "" : menu.getSecondLevelName()).add(menu);
}
// 一级菜单组
menuGroup.putIfAbsent(menu.getFirstLevelName()==null?"":menu.getFirstLevelName(), new HashMap<String, List<Menu>>());
menuGroup.putIfAbsent(menu.getFirstLevelName() == null ? "" : menu.getFirstLevelName(),new HashMap<String, List<Menu>>());
// 二级菜单组
menuGroup.get(menu.getFirstLevelName()).putIfAbsent(menu.getSecondLevelName(), new ArrayList<Menu>());
menuGroup.get(menu.getFirstLevelName()).putIfAbsent(menu.getSecondLevelName(), new ArrayList<Menu>());
// 最终菜单
menuGroup.get(menu.getFirstLevelName()).get(menu.getSecondLevelName()).add(menu);
});
renderJson(Ret.ok("apps", menuGroup).set("viewApps", viewApps).set("allMenu", allMenuList));
menuGroup.get(menu.getFirstLevelName()).get(menu.getSecondLevelName()).add(menu);
}
renderJson(Ret.ok("apps", menuGroup).set("viewApps", viewApps).set("allMenu", allMenuList));
} catch (Exception e) {
e.printStackTrace();
renderJson(Ret.fail("msg", e.getMessage()));
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment