feat(character): 홈의 최근 목록을 채팅방 기반으로 노출
- ChatRoomService.listMyChatRooms 사용, 최근 순 최대 10개 노출 - 방 title/imageUrl을 그대로 사용해 UI/데이터 일관성 유지 - 비로그인 사용자는 빈 배열 반환 refactor(dto): RecentCharacter.characterId → roomId로 변경
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user