package com.yuanchu.limslaboratory.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.yuanchu.limslaboratory.mapper.MenuMapper; import com.yuanchu.limslaboratory.pojo.Menu; import com.yuanchu.limslaboratory.service.RoleManagerService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; /** * @Author 张宾 * @Date 2023/8/23 */ @Service public class RoleManagerServiceImpl implements RoleManagerService { @Resource private MenuMapper menuMapper; @Override public Object getMenusTree() { List menus = menuMapper.getMenuList(); return menus.stream() .filter(t -> t.getParentId() == 0) .peek((menu) -> menu.setChildren(this.getEnumChildren(menu, menus))) .collect(Collectors.toList()); } private List getEnumChildren(Menu root, List all) { return all.stream() .filter(t -> Objects.equals(t.getParentId(), root.getValue())) .peek(g -> { //找子菜单 g.setChildren(getEnumChildren(g, all)); }) .collect(Collectors.toList()); } }