@@ -162,10 +162,6 @@ public class FileSimilarityService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
|
||||||
@Lazy
|
|
||||||
private NoCopyFileService noCopyFileService;
|
|
||||||
|
|
||||||
public Page<SimilarFileDTO> findSimilarFiles(String fileId, SimilarityFilter filter, Pageable pageable,
|
public Page<SimilarFileDTO> findSimilarFiles(String fileId, SimilarityFilter filter, Pageable pageable,
|
||||||
String authToken) throws Exception {
|
String authToken) throws Exception {
|
||||||
FileEntity fileEntity = fileEntityRepository.findByFileId(fileId);
|
FileEntity fileEntity = fileEntityRepository.findByFileId(fileId);
|
||||||
@@ -228,7 +224,7 @@ public class FileSimilarityService {
|
|||||||
FileProtector.Type fileType = file.getMimeType().equals("document") ? FileProtector.Type.DOC:
|
FileProtector.Type fileType = file.getMimeType().equals("document") ? FileProtector.Type.DOC:
|
||||||
FileProtector.Type.AUDIO;
|
FileProtector.Type.AUDIO;
|
||||||
|
|
||||||
NoCopyCheckResult noCopyCheckResult = noCopyFileService.checkFile(path.toFile(), fileType);
|
NoCopyCheckResult noCopyCheckResult = fileUtil.checkResult(path, fileType);
|
||||||
|
|
||||||
switch (noCopyCheckResult) {
|
switch (noCopyCheckResult) {
|
||||||
case DocumentCheckResult.Success success -> {
|
case DocumentCheckResult.Success success -> {
|
||||||
|
|||||||
@@ -1,14 +1,23 @@
|
|||||||
package ru.soune.nocopy.util;
|
package ru.soune.nocopy.util;
|
||||||
|
|
||||||
|
import com.vrt.NoCopyFileService;
|
||||||
import com.vrt.fileprotection.FileProtector;
|
import com.vrt.fileprotection.FileProtector;
|
||||||
|
import com.vrt.fileprotection.NoCopyCheckResult;
|
||||||
import com.vrt.fileprotection.image.ImageLocalSearch;
|
import com.vrt.fileprotection.image.ImageLocalSearch;
|
||||||
import com.vrt.fileprotection.image.ImageScore;
|
import com.vrt.fileprotection.image.ImageScore;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.soune.nocopy.dto.file.SimilarFileDTO;
|
import ru.soune.nocopy.dto.file.SimilarFileDTO;
|
||||||
import ru.soune.nocopy.entity.file.FileEntity;
|
import ru.soune.nocopy.entity.file.FileEntity;
|
||||||
|
|
||||||
|
import java.nio.file.Path;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class FileUtil {
|
public class FileUtil {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private NoCopyFileService noCopyFileService;
|
||||||
|
|
||||||
public ImageLocalSearch.Result convertToResult(SimilarFileDTO response) {
|
public ImageLocalSearch.Result convertToResult(SimilarFileDTO response) {
|
||||||
FileProtector.FileInfo fileInfo =
|
FileProtector.FileInfo fileInfo =
|
||||||
new FileProtector.FileInfo(FileProtector.Type.IMAGE, response.getFileId(),
|
new FileProtector.FileInfo(FileProtector.Type.IMAGE, response.getFileId(),
|
||||||
@@ -30,6 +39,10 @@ public class FileUtil {
|
|||||||
+ Long.bitCount(aLo ^ bLo);
|
+ Long.bitCount(aLo ^ bLo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public NoCopyCheckResult checkResult(Path path, FileProtector.Type fileType) {
|
||||||
|
return noCopyFileService.checkFile(path.toFile(), fileType);
|
||||||
|
}
|
||||||
|
|
||||||
private FileProtector.Type determineFileType(String mimeType) {
|
private FileProtector.Type determineFileType(String mimeType) {
|
||||||
if (mimeType == null) {
|
if (mimeType == null) {
|
||||||
return FileProtector.Type.IMAGE;
|
return FileProtector.Type.IMAGE;
|
||||||
|
|||||||
Reference in New Issue
Block a user