This commit is contained in:
@@ -49,5 +49,5 @@ public interface FileEntityRepository extends JpaRepository<FileEntity, String>
|
|||||||
@Query("SELECT f.id FROM FileEntity f WHERE f.filePath = :filePath")
|
@Query("SELECT f.id FROM FileEntity f WHERE f.filePath = :filePath")
|
||||||
String findFileIdByFilePath(@Param("filePath") String filePath);
|
String findFileIdByFilePath(@Param("filePath") String filePath);
|
||||||
|
|
||||||
long countByUserId(Long userId);
|
List<FileEntity> findFileByUserIdAndStatus(Long userId, FileStatus status);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -217,7 +217,6 @@ public class FileEntityService {
|
|||||||
fileEntityRepository.save(fileEntity);
|
fileEntityRepository.save(fileEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public void deleteFromDisk(FileEntity fileEntity) throws IOException {
|
public void deleteFromDisk(FileEntity fileEntity) throws IOException {
|
||||||
Path path = Paths.get(fileEntity.getFilePath());
|
Path path = Paths.get(fileEntity.getFilePath());
|
||||||
|
|
||||||
@@ -267,6 +266,14 @@ public class FileEntityService {
|
|||||||
fileEntityRepository.save(fileEntity);
|
fileEntityRepository.save(fileEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearTempFiles(long userId) throws IOException {
|
||||||
|
List<FileEntity> fileByUserIdAndStatus = fileEntityRepository.findFileByUserIdAndStatus(userId, FileStatus.TEMP);
|
||||||
|
|
||||||
|
for (FileEntity fileEntity : fileByUserIdAndStatus) {
|
||||||
|
deleteFromDisk(fileEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public FileEntity findBySignature(String signature) {
|
public FileEntity findBySignature(String signature) {
|
||||||
return fileEntityRepository.findBySignature(signature);
|
return fileEntityRepository.findBySignature(signature);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -319,6 +319,10 @@ public class FileUploadServiceImpl implements FileUploadService {
|
|||||||
|
|
||||||
FileStatus status = findSimilar == 0 ? FileStatus.ACTIVE: FileStatus.TEMP;
|
FileStatus status = findSimilar == 0 ? FileStatus.ACTIVE: FileStatus.TEMP;
|
||||||
|
|
||||||
|
if (status == FileStatus.TEMP) {
|
||||||
|
fileEntityService.clearTempFiles(session.getUserId());
|
||||||
|
}
|
||||||
|
|
||||||
completeFileProcessingAsync(session, status);
|
completeFileProcessingAsync(session, status);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user