获取常用收藏菜单

mac2022-06-30  69

@Datapublic class SysUserFavoriteMenu { /** * 账号ID */ private String userId; /** * 菜单ID */ private String menuId; /** * 父菜单ID */ private String parentId; /** * 经销商编码 */ private String did;} public List<SysMenu> getFavoriteMenu(String userId,String did){ List<SysMenu> sysMenus = new ArrayList<>(); //获取常用菜单叶子节点 List<SysUserFavoriteMenu> sysUserFavoriteMenuMappers = sysUserFavoriteMenuMapper.getSysUserFavoriteMenu(userId,did); for(SysUserFavoriteMenu sysUserFavoriteMenu : sysUserFavoriteMenuMappers){ //获取叶子节点对应的父节点 SysMenu sysMenu = sysMenuMapper.selectByPrimaryKey(sysUserFavoriteMenu.getParentId()); //把父节点加入sysMenus中 并把这个叶子节点放在这个父节点下 SysMenu child = sysMenuMapper.selectByPrimaryKey(sysUserFavoriteMenu.getMenuId()); child.setIsFavorite("1"); if(sysMenus == null || sysMenus.isEmpty()){ sysMenu.getChildrens().add(child); sysMenus.add(sysMenu); }else{ int flag = 0; for(int a=0;a<sysMenus.size();a++){ //如果父节点等于收藏的父节点 那么 就是同一个父节点 则把这个childs也放在这个父节点下 if(sysMenus.get(a).getRowId().equals(sysMenu.getRowId())){ sysMenus.get(a).getChildrens().add(child); flag++; break; } } if(flag==0){ sysMenu.getChildrens().add(child); sysMenus.add(sysMenu); } } } return sysMenus; }

 

转载于:https://www.cnblogs.com/pan-my/p/11429760.html

相关资源:获取Windows常用文件夹的路径,VB源码.rar
最新回复(0)