diff --git a/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java b/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java index f0425fd..3547eec 100644 --- a/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java +++ b/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java @@ -132,28 +132,22 @@ public class FileEntityService { return convertToResponse(fileEntity, version); } - @Transactional(readOnly = true) - public FileResponse getAllUserFiles(Long userId, int version) { - List fileEntities = fileEntityRepository.findByUserIdAndStatus( - userId, FileStatus.ACTIVE); + public List getAllUserFiles(Long userId, int version) { + User user = userRepository.findById(userId).orElseThrow(); + List allFiles = new ArrayList<>(); - List files = fileEntities.stream() - .map(file -> convertToResponse(file, version)) - .collect(Collectors.toList()); + if (user.getCompany() != null) { + for (Long uId : userRepository.findByCompanyId(user.getCompany().getId()).stream() + .map(User::getId) + .toList()) { + allFiles.addAll(fileEntityRepository.findByUserIdAndStatus(uId, FileStatus.ACTIVE)); + } + } else { + allFiles = fileEntityRepository.findByUserIdAndStatus(userId, FileStatus.ACTIVE); + } - long totalSize = fileEntities.stream() - .mapToLong(FileEntity::getFileSize) - .sum(); - - return FileResponse.builder() - .files(files) - .totalCount(files.size()) - .totalSize(totalSize) - .formattedTotalSize(formatFileSize(totalSize)) - .page(1) - .pageSize(files.size()) - .build(); + return allFiles; } @Transactional(readOnly = true) diff --git a/src/main/java/ru/soune/nocopy/service/violation/ViolationService.java b/src/main/java/ru/soune/nocopy/service/violation/ViolationService.java index d226eb6..dca5b8d 100644 --- a/src/main/java/ru/soune/nocopy/service/violation/ViolationService.java +++ b/src/main/java/ru/soune/nocopy/service/violation/ViolationService.java @@ -15,6 +15,7 @@ import ru.soune.nocopy.entity.violation.Violation; import ru.soune.nocopy.exception.ViolationNotFoundException; import ru.soune.nocopy.repository.FileEntityRepository; import ru.soune.nocopy.repository.ViolationRepository; +import ru.soune.nocopy.service.file.FileEntityService; import java.time.LocalDateTime; import java.util.List; @@ -29,6 +30,8 @@ public class ViolationService { private final FileEntityRepository fileEntityRepository; + private final FileEntityService fileEntityService; + public void processViolation(YandexSearchResponse.ImageResult imageResult, FileEntity file, GlobalSearchResult result) { String url = imageResult.getUrl(); @@ -133,7 +136,7 @@ public class ViolationService { userFiles = List.of(file); } else { - userFiles = fileEntityRepository.findByUserId(userId); + userFiles = fileEntityService.getAllUserFiles(userId, 1); } if (userFiles.isEmpty()) {