@@ -22,6 +22,9 @@ public interface FileAppealRepository extends JpaRepository<FileAppeal, String>
|
|||||||
|
|
||||||
Page<FileAppeal> findByUserId(Long userId, Pageable pageable);
|
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")
|
@Query("SELECT fa FROM FileAppeal fa WHERE fa.status = :status ORDER BY fa.createdAt ASC")
|
||||||
Page<FileAppeal> findPendingAppeals(@Param("status") AppealStatus status, Pageable pageable);
|
Page<FileAppeal> findPendingAppeals(@Param("status") AppealStatus status, Pageable pageable);
|
||||||
|
|
||||||
@@ -31,5 +34,8 @@ public interface FileAppealRepository extends JpaRepository<FileAppeal, String>
|
|||||||
@Transactional
|
@Transactional
|
||||||
@Query("DELETE FROM FileAppeal a WHERE a.fileId IN :fileIds")
|
@Query("DELETE FROM FileAppeal a WHERE a.fileId IN :fileIds")
|
||||||
void deleteAllByFileIdIn(@Param("fileIds") List<String> 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);
|
FileAppeal saved = fileAppealRepository.save(appeal);
|
||||||
|
|
||||||
return convertToResponse(saved);
|
return convertToResponse(saved, file.getOriginalFileName());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -247,7 +247,7 @@ public class ModerationService {
|
|||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public Page<AppealResponse> getUserAppeals(Long userId, int page, int size) {
|
public Page<AppealResponse> getUserAppeals(Long userId, int page, int size) {
|
||||||
Pageable pageable = PageRequest.of(page, size, Sort.by("createdAt").descending());
|
Pageable pageable = PageRequest.of(page, size, Sort.by("createdAt").descending());
|
||||||
return fileAppealRepository.findByUserId(userId, pageable)
|
return fileAppealRepository.findByUserIdWithFile(userId, pageable)
|
||||||
.map(this::convertToResponse);
|
.map(this::convertToResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -264,7 +264,7 @@ public class ModerationService {
|
|||||||
Pageable pageable = PageRequest.of(page, size,
|
Pageable pageable = PageRequest.of(page, size,
|
||||||
Sort.by(Sort.Direction.fromString(sortDirection), sortBy));
|
Sort.by(Sort.Direction.fromString(sortDirection), sortBy));
|
||||||
|
|
||||||
return fileAppealRepository.findAll(pageable)
|
return fileAppealRepository.findAllWithFile(pageable)
|
||||||
.map(this::convertToResponse);
|
.map(this::convertToResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,4 +281,18 @@ public class ModerationService {
|
|||||||
.resolvedAt(appeal.getResolvedAt())
|
.resolvedAt(appeal.getResolvedAt())
|
||||||
.build();
|
.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