package com.panzhihua.sangeshenbian.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.panzhihua.sangeshenbian.dao.SystemMenuMapper;
|
import com.panzhihua.sangeshenbian.model.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);
|
}
|
}
|
}
|