mitao
2025-02-24 17bd0962b7caba32f35d29a1082e7c998342e65d
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
package com.panzhihua.sangeshenbian.service.impl;
 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.sangeshenbian.dao.SystemMenuMapper;
import com.panzhihua.sangeshenbian.model.entity.SystemMenu;
import com.panzhihua.sangeshenbian.service.ISystemMenuService;
import org.springframework.stereotype.Service;
 
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * @author zhibing.pu
 * @Date 2025/2/23 1:03
 */
@Service
public class SystemMenuServiceImpl extends ServiceImpl<SystemMenuMapper, SystemMenu> implements ISystemMenuService {
    
    @Override
    public List<SystemMenu> getSystemMenuList() {
        List<SystemMenu> list = this.list();
        List<SystemMenu> collect = list.stream().filter(s->s.getParentId() == 0).collect(Collectors.toList());
        for (SystemMenu systemMenu : collect) {
            build(systemMenu, list);
        }
        return list;
    }
    
    
    public void build(SystemMenu systemMenu, List<SystemMenu> list) {
        List<SystemMenu> collect = list.stream().filter(s->s.getParentId().equals(systemMenu.getParentId())).collect(Collectors.toList());
        if(collect.size() == 0){
            return;
        }
        systemMenu.setChildren(collect);
        for (SystemMenu menu : collect) {
            build(menu, list);
        }
    }
}