/** * 根据 文件夹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; };