NCBACK-34 need fix delete filentity and hash
Test Workflow / test (push) Successful in 4s

This commit is contained in:
vladp
2026-01-15 20:41:35 +07:00
parent bbb0d7b17a
commit 4a45f40e9f
4 changed files with 104 additions and 64 deletions
@@ -9,7 +9,6 @@ import ru.soune.nocopy.dto.file.FileResponse;
import ru.soune.nocopy.entity.file.FileEntity;
import ru.soune.nocopy.entity.file.FileStatus;
import ru.soune.nocopy.entity.file.FileUploadSession;
import ru.soune.nocopy.exception.DuplicateImageException;
import ru.soune.nocopy.exception.FileEntityNotFoundException;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.service.FileSimilarityService;
@@ -66,22 +65,6 @@ public class FileEntityService {
if (saved.getMimeType().startsWith("image")) {
imageHashService.create(saved, Path.of(saved.getFilePath()));
var similarFiles = fileSimilarityService.findSimilarFiles(saved.getId());
boolean hasDuplicate = similarFiles.stream()
.anyMatch(f -> f.getHammingDistance() <= 5);
if (hasDuplicate) {
log.warn("Duplicate image detected for upload session {}. Rolling back.",
session.getUploadId());
throw new DuplicateImageException("Duplicate image detected for upload session " + session.getUploadId());
}
similarFiles.stream()
.filter(f -> f.getHammingDistance() > 5)
.forEach(f -> log.info("Similar image found: {} (distance {})",
f.getFileId(), f.getHammingDistance()));
}
return saved;
@@ -166,6 +149,8 @@ public class FileEntityService {
Files.delete(path);
markAsDeleted(fileEntity);
return true;
}