@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