feat(character): 홈의 최근 목록을 채팅방 기반으로 노출

- ChatRoomService.listMyChatRooms 사용, 최근 순 최대 10개 노출
- 방 title/imageUrl을 그대로 사용해 UI/데이터 일관성 유지
- 비로그인 사용자는 빈 배열 반환

refactor(dto): RecentCharacter.characterId → roomId로 변경
This commit is contained in:
2025-08-14 00:53:35 +09:00
parent e6d63592ec
commit 6cf7dabaef
5 changed files with 19 additions and 51 deletions

View File

@@ -184,9 +184,8 @@ class ChatRoomService(
}
@Transactional(readOnly = true)
fun listMyChatRooms(member: Member, page: Int): List<ChatRoomListItemDto> {
// 기본 페이지당 20개 고정
val pageable = PageRequest.of(if (page < 0) 0 else page, 20)
fun listMyChatRooms(member: Member, page: Int, size: Int = 20): List<ChatRoomListItemDto> {
val pageable = PageRequest.of(if (page < 0) 0 else page, size)
val rooms: List<ChatRoomListQueryDto> = chatRoomRepository.findMemberRoomsOrderByLastMessageDesc(
member,
pageable
@@ -200,7 +199,7 @@ class ChatRoomService(
val latest = messageRepository.findTopByChatRoomAndIsActiveTrueOrderByCreatedAtDesc(room)
val preview = latest?.message?.let { msg ->
if (msg.length <= 25) msg else msg.substring(0, 25) + "..."
if (msg.length <= 25) msg else msg.take(25) + "..."
}
ChatRoomListItemDto(