This commit is contained in:
@@ -11,6 +11,7 @@ import ru.soune.nocopy.repository.ImageHashRepository;
|
||||
import ru.soune.nocopy.repository.ImageSimilarityRepository;
|
||||
import ru.soune.nocopy.repository.SimilarImageProjection;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -49,7 +50,7 @@ public class FileSimilarityService {
|
||||
}
|
||||
|
||||
return SimilarFileResponse.builder()
|
||||
.fileId(c.getSimilarFileId())
|
||||
.fileId(c.getFileId())
|
||||
.originalFileName(c.getOriginalFileName())
|
||||
.fileSize(c.getFileSize())
|
||||
.hammingDistance(hamming)
|
||||
@@ -61,6 +62,16 @@ public class FileSimilarityService {
|
||||
.toList();
|
||||
}
|
||||
|
||||
public List<SimilarImageProjection> findDuplicatedByHash(Integer hash64Hi, Integer hash64Lo) {
|
||||
List<SimilarImageProjection> duplicates = repository.findExactDuplicates(hash64Hi,hash64Lo);
|
||||
|
||||
if (duplicates.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
return duplicates;
|
||||
}
|
||||
|
||||
public Page<SimilarFileResponse> findSimilarFiles(String fileId, SimilarityFilter filter, Pageable pageable) {
|
||||
var imageHashEntity = hashRepository.findById(fileId)
|
||||
.orElseThrow(() -> new RuntimeException("Hash not found"));
|
||||
@@ -109,7 +120,7 @@ public class FileSimilarityService {
|
||||
}
|
||||
|
||||
return SimilarFileResponse.builder()
|
||||
.fileId(similarImageProjection.getSimilarFileId())
|
||||
.fileId(similarImageProjection.getFileId())
|
||||
.originalFileName(similarImageProjection.getOriginalFileName())
|
||||
.fileSize(similarImageProjection.getFileSize())
|
||||
.hammingDistance(hamming)
|
||||
|
||||
Reference in New Issue
Block a user