获取常用收藏菜单
Posted pan-my
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取常用收藏菜单相关的知识,希望对你有一定的参考价值。
@Data
public 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;
以上是关于获取常用收藏菜单的主要内容,如果未能解决你的问题,请参考以下文章