/**
*
* 递归查找父级,一直查找到root为止,最终返回包含所有Folder的List,因为是递归,所以不能在方法里new 容器List,那样每次递归都会new一个List
* 所以容器List必须从外部传入, 终止条件(基础情况)parentId == -1
*/
private List<FolderDto> getFolderPath(FolderDto folder, List<FolderDto> folderPathList) {
Integer parentId = folder.getParentId();
if (parentId == -1) {
// root
folderPathList.add(folder);
return folderPathList;
}else {
folderPathList.add(folder);
// 找到我的父级
FolderDto folderInfo = folderDao.findFolderInfo(folder.getParentId());
return getFolderPath(folderInfo, folderPathList);
}
}