1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package cn.wisenergy.chnmuseum.party.service.impl;
import cn.wisenergy.chnmuseum.party.model.Role;
import cn.wisenergy.chnmuseum.party.service.IMenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.wisenergy.chnmuseum.party.mapper.MenuMapper;
import cn.wisenergy.chnmuseum.party.model.Menu;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 菜单权限表 服务实现类
* </p>
*
* @author 杨智平
* @since 2018-08-03
*/
@Service
public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IMenuService {
@Resource
private MenuMapper menuMapper;
public List<Menu> getUserMenuPerms(List<String> list) {
List<Menu> menuList = menuMapper.getUserMenuPerms(list);
HashMap<String, Menu> map = new HashMap<>();
menuList.forEach(m->map.put(m.getId(),m));
for (Menu menu : menuList) {
Menu parent = map.get(menu.getParentId());
if (parent!=null){
if (parent.getChildren()==null){
parent.setChildren(new ArrayList<>());
}
parent.getChildren().add(menu);
}
}
menuList = menuList.stream().filter(m -> m.getLevel()==1).collect(Collectors.toList());
return menuList;
}
}