@@ -1,6 +1,9 @@
|
|||||||
package ru.soune.nocopy.handler;
|
package ru.soune.nocopy.handler;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.vrt.NoCopyFileService;
|
||||||
|
import com.vrt.fileprotection.FileProtector;
|
||||||
|
import com.vrt.fileprotection.NoCopyCheckResult;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -59,6 +62,8 @@ public class ImageFoundRequestHandler implements RequestHandler {
|
|||||||
|
|
||||||
private final FileSimilarityService fileSimilarityService;
|
private final FileSimilarityService fileSimilarityService;
|
||||||
|
|
||||||
|
private final NoCopyFileService noCopyFileService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||||
ImageSearchRequest imageSearchRequest = objectMapper.convertValue(request.getMessageBody(),
|
ImageSearchRequest imageSearchRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||||
@@ -144,7 +149,7 @@ public class ImageFoundRequestHandler implements RequestHandler {
|
|||||||
int page = imageSearchRequest.getPage() != null ? imageSearchRequest.getPage() : 1;
|
int page = imageSearchRequest.getPage() != null ? imageSearchRequest.getPage() : 1;
|
||||||
int pageSize = 5;
|
int pageSize = 5;
|
||||||
|
|
||||||
boolean checkSimilar = imageSearchRequest.getCheckSimilarFirst() == null ? false:
|
boolean checkSimilar = imageSearchRequest.getCheckSimilarFirst() != null &&
|
||||||
imageSearchRequest.getCheckSimilarFirst();
|
imageSearchRequest.getCheckSimilarFirst();
|
||||||
|
|
||||||
if (checkSimilar && !allUniqueImages.isEmpty()) {
|
if (checkSimilar && !allUniqueImages.isEmpty()) {
|
||||||
@@ -154,31 +159,33 @@ public class ImageFoundRequestHandler implements RequestHandler {
|
|||||||
try {
|
try {
|
||||||
tempFile = convertToSupportedFormat(fileUploadService.downloadImageFromUrl(url));
|
tempFile = convertToSupportedFormat(fileUploadService.downloadImageFromUrl(url));
|
||||||
|
|
||||||
String filePath = tempFile.toAbsolutePath().toString();
|
// String filePath = tempFile.toAbsolutePath().toString();
|
||||||
|
NoCopyCheckResult checkResult = noCopyFileService.checkFile(tempFile.toFile(),
|
||||||
|
FileProtector.Type.IMAGE);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
log.info("checkResult: " + checkResult);
|
||||||
|
// Map<String, Long> hashSearchApiFile = imageHashService.calculateHash(Paths.get(filePath));
|
||||||
|
// ImageHashEntity checkFileHash = imageHashRepository.findByFileId(fileId);
|
||||||
|
|
||||||
Map<String, Long> hashSearchApiFile = imageHashService.calculateHash(Paths.get(filePath));
|
// boolean hashesAreEqual = hashSearchApiFile.get("hi").equals(checkFileHash.getHash64Hi())
|
||||||
|
// && hashSearchApiFile.get("low").equals(checkFileHash.getHash64Lo());
|
||||||
|
|
||||||
log.info("hashSearchApiFile: " + hashSearchApiFile);
|
// if (!hashesAreEqual) {
|
||||||
log.info("hashSearchApiFile: " + hashSearchApiFile);
|
// return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
||||||
log.info("hashSearchApiFile: " + hashSearchApiFile);
|
// "Not found similar pictures", new YandexSearchResponse());
|
||||||
log.info("hashSearchApiFile: " + hashSearchApiFile);
|
// }
|
||||||
|
|
||||||
ImageHashEntity checkFileHash = imageHashRepository.findByFileId(fileId);
|
|
||||||
|
|
||||||
log.info("checkFileHash hi: " + checkFileHash.getHash64Hi());
|
|
||||||
log.info("checkFileHash hi: " + checkFileHash.getHash64Hi());
|
|
||||||
log.info("checkFileHash hi: " + checkFileHash.getHash64Hi());
|
|
||||||
log.info("checkFileHash low: " + checkFileHash.getHash64Lo());
|
|
||||||
log.info("checkFileHash low: " + checkFileHash.getHash64Lo());
|
|
||||||
log.info("checkFileHash low: " + checkFileHash.getHash64Lo());
|
|
||||||
|
|
||||||
boolean hashesAreEqual = hashSearchApiFile.get("hi").equals(checkFileHash.getHash64Hi())
|
|
||||||
&& hashSearchApiFile.get("low").equals(checkFileHash.getHash64Lo());
|
|
||||||
|
|
||||||
if (!hashesAreEqual) {
|
|
||||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
|
||||||
"Not found similar pictures", new YandexSearchResponse());
|
|
||||||
}
|
|
||||||
} finally {
|
} finally {
|
||||||
if (tempFile != null) {
|
if (tempFile != null) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user