|
@@ -13,6 +13,7 @@ import org.springblade.archive.entity.ScanFolder;
|
|
|
import org.springblade.archive.mapper.ScanFileMapper;
|
|
import org.springblade.archive.mapper.ScanFileMapper;
|
|
|
import org.springblade.archive.mapper.ScanFolderMapper;
|
|
import org.springblade.archive.mapper.ScanFolderMapper;
|
|
|
import org.springblade.archive.service.ScanFileService;
|
|
import org.springblade.archive.service.ScanFileService;
|
|
|
|
|
+import org.springblade.archive.service.ScanFolderService;
|
|
|
import org.springblade.archive.utils.FileUtils;
|
|
import org.springblade.archive.utils.FileUtils;
|
|
|
import org.springblade.archive.vo.ScanFolderVO;
|
|
import org.springblade.archive.vo.ScanFolderVO;
|
|
|
import org.springblade.business.entity.ArchiveFile;
|
|
import org.springblade.business.entity.ArchiveFile;
|
|
@@ -63,8 +64,7 @@ public class ScanFileServiceImpl extends ServiceImpl<ScanFileMapper, ScanFile>
|
|
|
private final ArchiveTreeContractClient archiveTreeContractClient;
|
|
private final ArchiveTreeContractClient archiveTreeContractClient;
|
|
|
private final JdbcTemplate jdbcTemplate;
|
|
private final JdbcTemplate jdbcTemplate;
|
|
|
private final ArchiveFileClient archiveFileClient;
|
|
private final ArchiveFileClient archiveFileClient;
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ private final ScanFolderService scanFolderService;
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -248,10 +248,27 @@ public class ScanFileServiceImpl extends ServiceImpl<ScanFileMapper, ScanFile>
|
|
|
if(scanFiles.size()>0){
|
|
if(scanFiles.size()>0){
|
|
|
throw new ServiceException("当前节点存在文件,无法删除");
|
|
throw new ServiceException("当前节点存在文件,无法删除");
|
|
|
}
|
|
}
|
|
|
- scanFolderMapper.deleteById(id);
|
|
|
|
|
|
|
+ List<ScanFolder> scanFolders = scanFolderMapper.selectAllChildren(id);
|
|
|
|
|
+ for (ScanFolder folder : scanFolders) {
|
|
|
|
|
+ scanFolderMapper.deleteById(folder.getId());
|
|
|
|
|
+ this.deleteScanFolderLinux(folder.getId());
|
|
|
|
|
+ }
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private void deleteScanFolderLinux(Long id) {
|
|
|
|
|
+ ScanFolder scanFolder = scanFolderMapper.selectById(id);
|
|
|
|
|
+ if (scanFolder != null&&scanFolder.getFolderPath()!=null){
|
|
|
|
|
+ File folder = new File(scanFolder.getFolderPath());
|
|
|
|
|
+ if (folder.exists()) {
|
|
|
|
|
+ boolean deleted = folder.delete();
|
|
|
|
|
+ if (!deleted) {
|
|
|
|
|
+ throw new ServiceException("删除文件夹失败");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 入口方法:扫描并入库指定contractId的所有文件夹
|
|
* 入口方法:扫描并入库指定contractId的所有文件夹
|
|
|
* @param contractId 传入的合同ID(对应D:\PDF下的文件夹名)
|
|
* @param contractId 传入的合同ID(对应D:\PDF下的文件夹名)
|