Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,11 @@ public interface ChatRoomRepository extends JpaRepository<ChatRoom,Long> {
"WHERE c.memberId = :memberId")
Page<ChatRoomResponseDto> getPagesByMemberId(@Param("memberId") Long memberId, Pageable pageable);

@Query("SELECT new com.example.SucceSS.web.dto.ChatRoomResponseDto(c.chatRoomId, c.memberId, c.title, c.updatedAt) " +
"FROM ChatRoom c " +
"WHERE c.memberId = :memberId " +
"AND c.title LIKE CONCAT('%', :keyword, '%')")
Page<ChatRoomResponseDto> getPagesByMemberIdAndSort(@Param("memberId") Long memberId, Pageable pageable,@Param("keyword") String keyword);

Optional<ChatRoom> findByChatRoomId(Long chatRoomId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,10 @@ public Page<ChatResponseDto> getChatPages(Long chatRoomId, Pageable pageable) {
}

@Transactional(readOnly = true)
public Page<ChatRoomResponseDto> getChatRoomPages(Member member, Pageable pageable) {
return chatRoomRepository.getPagesByMemberId(member.getId()
, getChatRoomPageableWithSort(pageable));
public Page<ChatRoomResponseDto> getChatRoomPages(Member member, Pageable pageable, String keyword) {
Pageable sortedPageable = getChatRoomPageableWithSort(pageable);
return keyword == null ? chatRoomRepository.getPagesByMemberId(member.getId(),sortedPageable )
: chatRoomRepository.getPagesByMemberIdAndSort(member.getId(),sortedPageable, keyword);
}

private Pageable getChatRoomPageableWithSort(Pageable pageable) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,10 @@ public ResponseEntity<ApiResponse<Page<ChatResponseDto>>> getChatPages(@PathVari

@GetMapping(value = "/rooms")
@Operation(summary = "채팅방 목록 불러오기")
public ResponseEntity<ApiResponse<Page<ChatRoomResponseDto>>> getChatRoomPages(Pageable pageable) {
public ResponseEntity<ApiResponse<Page<ChatRoomResponseDto>>> getChatRoomPages(Pageable pageable
, @RequestParam(required = false, name = "keyword") String keyword) {
return ResponseEntity.ok(
ApiResponse.onSuccess(chatRoomService.getChatRoomPages(getCurrentUser.getCurrentUser(), pageable)));
ApiResponse.onSuccess(chatRoomService.getChatRoomPages(getCurrentUser.getCurrentUser(), pageable, keyword)));
}


Expand Down