MenuServiceImpl.java 1.43 KB
Newer Older
liqin's avatar
liqin committed
1 2
package cn.wisenergy.chnmuseum.party.service.impl;

3
import cn.wisenergy.chnmuseum.party.model.Role;
liqin's avatar
liqin committed
4 5 6 7 8 9 10
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;
11
import java.util.ArrayList;
12
import java.util.HashMap;
liqin's avatar
liqin committed
13
import java.util.List;
14
import java.util.stream.Collectors;
liqin's avatar
liqin committed
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

/**
 * <p>
 * 菜单权限表 服务实现类
 * </p>
 *
 * @author 杨智平
 * @since 2018-08-03
 */
@Service
public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IMenuService {

    @Resource
    private MenuMapper menuMapper;

wzp's avatar
wzp committed
30 31
    public List<Menu> getUserMenuPerms(List<String> list) {
        List<Menu> menuList = menuMapper.getUserMenuPerms(list);
32 33 34 35 36 37 38 39 40 41 42 43 44
        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;
liqin's avatar
liqin committed
45 46 47
    }

}