@@ -22,6 +22,9 @@ public interface FileAppealRepository extends JpaRepository<FileAppeal, String>
|
||||
|
||||
Page<FileAppeal> findByUserId(Long userId, Pageable pageable);
|
||||
|
||||
@Query("SELECT fa FROM FileAppeal fa LEFT JOIN FETCH fa.file WHERE fa.userId = :userId")
|
||||
Page<FileAppeal> findByUserIdWithFile(@Param("userId") Long userId, Pageable pageable);
|
||||
|
||||
@Query("SELECT fa FROM FileAppeal fa WHERE fa.status = :status ORDER BY fa.createdAt ASC")
|
||||
Page<FileAppeal> findPendingAppeals(@Param("status") AppealStatus status, Pageable pageable);
|
||||
|
||||
@@ -31,5 +34,8 @@ public interface FileAppealRepository extends JpaRepository<FileAppeal, String>
|
||||
@Transactional
|
||||
@Query("DELETE FROM FileAppeal a WHERE a.fileId IN :fileIds")
|
||||
void deleteAllByFileIdIn(@Param("fileIds") List<String> fileIds);
|
||||
|
||||
@Query("SELECT fa FROM FileAppeal fa JOIN FETCH fa.file")
|
||||
Page<FileAppeal> findAllWithFile(Pageable pageable);
|
||||
}
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ public class ModerationService {
|
||||
|
||||
FileAppeal saved = fileAppealRepository.save(appeal);
|
||||
|
||||
return convertToResponse(saved);
|
||||
return convertToResponse(saved, file.getOriginalFileName());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -247,7 +247,7 @@ public class ModerationService {
|
||||
@Transactional(readOnly = true)
|
||||
public Page<AppealResponse> getUserAppeals(Long userId, int page, int size) {
|
||||
Pageable pageable = PageRequest.of(page, size, Sort.by("createdAt").descending());
|
||||
return fileAppealRepository.findByUserId(userId, pageable)
|
||||
return fileAppealRepository.findByUserIdWithFile(userId, pageable)
|
||||
.map(this::convertToResponse);
|
||||
}
|
||||
|
||||
@@ -264,7 +264,7 @@ public class ModerationService {
|
||||
Pageable pageable = PageRequest.of(page, size,
|
||||
Sort.by(Sort.Direction.fromString(sortDirection), sortBy));
|
||||
|
||||
return fileAppealRepository.findAll(pageable)
|
||||
return fileAppealRepository.findAllWithFile(pageable)
|
||||
.map(this::convertToResponse);
|
||||
}
|
||||
|
||||
@@ -281,4 +281,18 @@ public class ModerationService {
|
||||
.resolvedAt(appeal.getResolvedAt())
|
||||
.build();
|
||||
}
|
||||
|
||||
private AppealResponse convertToResponse(FileAppeal appeal,String fileName) {
|
||||
return AppealResponse.builder()
|
||||
.appealId(appeal.getId())
|
||||
.fileId(appeal.getFileId())
|
||||
.appealReason(appeal.getAppealReason())
|
||||
.additionalInfo(appeal.getAdditionalInfo())
|
||||
.status(appeal.getStatus().name())
|
||||
.adminComment(appeal.getAdminComment())
|
||||
.fileName(fileName)
|
||||
.createdAt(appeal.getCreatedAt())
|
||||
.resolvedAt(appeal.getResolvedAt())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user