递归算法:方法中调用方法本身名叫递归;
@RequestMapping(value="batchExport")
@ResponseBody
public List batchExport(@RequestParam(required = false) String projectid){
// 创建对象[文件夹基本属性表(FmProject)]
FmProject fmProject = new FmProject();
// 把前段传递的文件夹ID放到对象里面
fmProject.setId(projectid);
AllSonProject = new ArrayList<>();
//
AllSonProject.add(fmProject);
// 根据当前对象获取 获取当前文件夹的所有子文件夹
List SonProject = this.getProjects(fmProject);
return AllSonProject;
}
public List getProjects(FmProject fmProject) {
List childProject = this.projectService.getChildProject(fmProject);
//
if(childProject.size()>0){
for (FmProject tempParent: childProject) {
// 把文件的对象存放到 AllSonProject 集合中
AllSonProject.add(tempParent);
// 使用递归算法(方法中调用方法本身)
this.getProjects(tempParent);
}
}
return AllSonProject;
}