This commit is contained in:
@@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
|
||||
import ru.soune.nocopy.dto.file.SimilarFileDTO;
|
||||
import ru.soune.nocopy.entity.company.Company;
|
||||
import ru.soune.nocopy.entity.file.FileEntity;
|
||||
import ru.soune.nocopy.entity.file.FileStatus;
|
||||
import ru.soune.nocopy.entity.file.ImageHashEntity;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.exception.DuplicateImageException;
|
||||
@@ -154,22 +155,19 @@ public class FileSimilarityService {
|
||||
var imageHashEntity = hashRepository.findById(fileId)
|
||||
.orElseThrow(() -> new RuntimeException("Hash not found for file: " + fileId));
|
||||
|
||||
List<SimilarImageProjection> candidates;
|
||||
|
||||
List<Long> userIds;
|
||||
// if (authToken == null || "all".equals(authToken)) {
|
||||
candidates = repository.findCandidates(fileId);
|
||||
// } else {
|
||||
Long userId = authTokenRepository.findUserIdByToken(authToken);
|
||||
User user = userRepository.findById(userId).orElseThrow(() -> new RuntimeException("User not found"));
|
||||
Company company = user.getCompany();
|
||||
if (company != null) {
|
||||
userIds = company.getUsers().stream().map(User::getId).collect(Collectors.toList());
|
||||
// candidates = repository.findCandidatesFromUserFiles(fileId, userIds);
|
||||
} else {
|
||||
userIds = List.of(userId);
|
||||
// candidates = repository.findCandidatesFromUserFiles(fileId, userId);
|
||||
}
|
||||
// }
|
||||
List<SimilarImageProjection> candidates = repository.findCandidates(fileId);
|
||||
|
||||
Long userId = authTokenRepository.findUserIdByToken(authToken);
|
||||
User user = userRepository.findById(userId).orElseThrow(() -> new RuntimeException("User not found"));
|
||||
Company company = user.getCompany();
|
||||
|
||||
if (company != null) {
|
||||
userIds = company.getUsers().stream().map(User::getId).collect(Collectors.toList());
|
||||
} else {
|
||||
userIds = List.of(userId);
|
||||
}
|
||||
|
||||
List<String> levels = (similarityLevels != null && !similarityLevels.isEmpty())
|
||||
? similarityLevels
|
||||
@@ -180,6 +178,7 @@ public class FileSimilarityService {
|
||||
imageHashEntity.getHash64Hi(),
|
||||
imageHashEntity.getHash64Lo(), userIds))
|
||||
.filter(dto -> levels.contains(dto.getSimilarityLevel()))
|
||||
.filter(dto -> dto.getFileStatus().equals(FileStatus.ACTIVE.name()))
|
||||
.sorted(Comparator.comparingInt(SimilarFileDTO::getHammingDistance))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@@ -243,6 +242,7 @@ public class FileSimilarityService {
|
||||
.owner(userIds.contains(similarImageProjection.getUserId()))
|
||||
// .url(baseUrl + "/api/files/protected/" + similarImageProjection.getId())
|
||||
.url(baseUrl + "/api/files/protected/" + similarImageProjection.getId() + "/thumbnail")
|
||||
.fileStatus(similarImageProjection.getFileStatus())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import ru.soune.nocopy.dto.complaint.ComplaintRequest;
|
||||
import ru.soune.nocopy.dto.complaint.ComplaintResponse;
|
||||
import ru.soune.nocopy.entity.complaint.ComplaintEntity;
|
||||
import ru.soune.nocopy.entity.complaint.ComplaintStatus;
|
||||
import ru.soune.nocopy.entity.file.FileStatus;
|
||||
import ru.soune.nocopy.entity.violation.Violation;
|
||||
import ru.soune.nocopy.exception.ComplaintNotFoundException;
|
||||
import ru.soune.nocopy.exception.DuplicateComplaintException;
|
||||
@@ -32,8 +33,6 @@ public class ComplaintEntityService {
|
||||
|
||||
private final ViolationRepository violationRepository;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
public ComplaintResponse createComplaint(ComplaintRequest request) {
|
||||
@@ -49,6 +48,7 @@ public class ComplaintEntityService {
|
||||
.complaintText(request.getComplaintText())
|
||||
.email(request.getEmail())
|
||||
.violation(violation)
|
||||
.not_moderated_file(violation.getFileEntity().getStatus().equals(FileStatus.MODERATION))
|
||||
.build();
|
||||
|
||||
return mapToResponse(complaintRepository.save(complaint));
|
||||
@@ -116,6 +116,7 @@ public class ComplaintEntityService {
|
||||
.violationId(entity.getViolation() != null ? entity.getViolation().getId() : null)
|
||||
.createdAt(entity.getCreatedAt() != null ? entity.getCreatedAt().format(DATE_FORMATTER) : null)
|
||||
.updatedAt(entity.getUpdatedAt() != null ? entity.getUpdatedAt().format(DATE_FORMATTER) : null)
|
||||
.notModerated(entity.getNot_moderated_file() != null ? entity.getNot_moderated_file() : null)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user