/**
* 根据 文件夹id 递归查询文件夹下的所有文件
* @param folderId
* @param searchValue 文件名筛选值 可为空
* @return
*/
public List<RepositoryFile> getFilesByFolder(String folderId,String searchValue,User user){
//返回集合
List<RepositoryFile> reList=new ArrayList<>();
//查询当前文件夹的权限
RepositoryCompetence com=getFolderCompetence(user,folderId);
if(com!=null) {
//查询本文件夹内的文件
List<RepositoryFile> files = repositoryFileService.getFilesByFolder(folderId, searchValue);
//文件添加权限
for(RepositoryFile file:files){
file.setCom(com);
}
reList.addAll(files);
//查询本文件夹的子文件夹
QueryWrapper<RepositoryFolder> ew1 = new QueryWrapper<>();
ew1.eq("parent_id", folderId);
List<RepositoryFolder> folders = repositoryFolderService.list(ew1);
//循环下级文件夹(递归查询下级文件夹的内的文件和下级文件的下级文件夹)
for (RepositoryFolder folder : folders) {
reList.addAll(this.getFilesByFolder(folder.getId(), searchValue, user));
}
}
//返回数据
return reList;
};