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<Menu> menus = menuMapper.getMenuList();
|
return menus.stream()
|
.filter(t -> t.getParentId() == 0)
|
.peek((menu) -> menu.setChildren(this.getEnumChildren(menu, menus)))
|
.collect(Collectors.toList());
|
}
|
|
|
private List<Menu> getEnumChildren(Menu root, List<Menu> all) {
|
return all.stream()
|
.filter(t -> Objects.equals(t.getParentId(), root.getValue()))
|
.peek(g -> {
|
//找子菜单
|
g.setChildren(getEnumChildren(g, all));
|
})
|
.collect(Collectors.toList());
|
}
|
|
}
|