/**
* 获取书籍目录
*/
@Override
public List<DdbLearnTextbook> getBooksDirectory() {
// 全部数据,数据之间根据parentId来关联
final List<DdbLearnTextbook> selectAll = ddbLearnTextbookMapper.selectAll();
// 最后结果
final List<DdbLearnTextbook> bookDirectories = new ArrayList<>();
// 一级菜单
for (DdbLearnTextbook ddbLearnTextbook : selectAll) {
if (ddbLearnTextbook.getParentId() == null) {
bookDirectories.add(ddbLearnTextbook);
}
}
// 为一级菜单设置为子菜单
for (DdbLearnTextbook ddbLearnTextbook : bookDirectories) {
ddbLearnTextbook.setChildDdbLearnTextbooks(this.getChild(ddbLearnTextbook.getId(), selectAll));
}
return bookDirectories;
}
/**
* 递归查找
*/
public List<DdbLearnTextbook> getChild(String id, List<DdbLearnTextbook> ddbLearnTextbooks) {
final List<DdbLearnTextbook> childList = new ArrayList<>();
for (DdbLearnTextbook menu : ddbLearnTextbooks) {
// 遍历所有节点,将父菜单id与传过来的id比较
if (menu.getParentId() != null) {
if (menu.getParentId() .equals(id) ) {
childList.add(menu);
}
}
}
// 把子菜单的子菜单再循环一遍
for (DdbLearnTextbook menu : childList) {
// 递归
menu.setChildDdbLearnTextbooks(getChild(menu.getId(), ddbLearnTextbooks));
}
// 退出
if (childList.size() == 0) {
return null;
}
return childList;
}
递归菜单树(书籍目录)
最新推荐文章于 2024-06-24 19:03:52 发布