/** * 将菜单组装成树 * * @param menus * @param root */ void eachMenu(List<Menu> menus, Menu root) { for (Menu m1 : menus) { if (m1.getParent() != null && root.getId().equals(m1.getParent().getId())) { if (root.getRows() == null) { root.setRows(new ArrayList<Menu>()); } root.getRows().add(m1); root.setLeaf(false); eachMenu(menus, m1); } } }
/** * 根据为空取得菜单根节点 * * @param menus * @return */ private Menu getRootMenu(List<Menu> menus) { Menu root = null; for (Menu menu : menus) { if (menu.getParent() == null && menu.getId() != null) { root = new Menu(); BeanUtils.copyProperties(menu, root); break; } } return root; }
/** * 保存 * * @param menu * @return */ public Menu saveMenu(Menu menu) { menu.setParent(menuDao.get(menu.getParent().getId())); menu.setCreatedDate(new Date()); menu.setSno(menuDao.getMaxSno()); return menuDao.save(menu); }