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