@@ -61,6 +61,12 @@ public ChatInitiateResponse initiateChat(Long postId, Long memberId) {
6161 throw new EntityNotFoundException ("리더의 계정이 존재하지 않거나 비활성화되었습니다." );
6262 }
6363
64+ // 프로필 이미지 코드 조회 추가
65+ Profile leaderProfile = profileRepository .findByUserId (leaderId )
66+ .orElseThrow (() -> new EntityNotFoundException ("리더 프로필을 찾을 수 없습니다." ));
67+ Profile memberProfile = profileRepository .findByUserId (memberId )
68+ .orElseThrow (() -> new EntityNotFoundException ("멤버 프로필을 찾을 수 없습니다." ));
69+
6470 String topicId = buildTopicId (postId , leaderId , memberId );
6571
6672 Optional <ChatRoom > existingRoom = chatRoomRepository .findByPostIdAndLeaderUserIdAndMemberUserId (postId , leaderId , memberId );
@@ -83,7 +89,9 @@ public ChatInitiateResponse initiateChat(Long postId, Long memberId) {
8389 String .valueOf (leaderId ),
8490 String .valueOf (memberId ),
8591 myRole ,
86- history
92+ history ,
93+ leaderProfile .getProfileImageCode (),
94+ memberProfile .getProfileImageCode ()
8795 );
8896 } else {
8997 log .info ("신규 채팅방 초기화. TopicId: {}" , topicId );
@@ -93,7 +101,9 @@ public ChatInitiateResponse initiateChat(Long postId, Long memberId) {
93101 String .valueOf (leaderId ),
94102 String .valueOf (memberId ),
95103 "MEMBER" ,
96- Collections .emptyList ()
104+ Collections .emptyList (),
105+ leaderProfile .getProfileImageCode (),
106+ memberProfile .getProfileImageCode ()
97107 );
98108 }
99109 }
@@ -253,6 +263,13 @@ public List<MyChatListResponse> getMyChatRooms(Long myUserId, ChatFilterType fil
253263 ChatRoom room = cp .getChatRoom ();
254264 Long otherUserId = myUserId .equals (room .getLeaderUserId ())
255265 ? room .getMemberUserId () : room .getLeaderUserId ();
266+
267+ // 프로필 조회 (이미지 코드 포함)
268+ Profile leaderProfile = profileRepository .findByUserId (room .getLeaderUserId ())
269+ .orElseThrow (() -> new EntityNotFoundException ("리더 프로필을 찾을 수 없습니다." ));
270+ Profile memberProfile = profileRepository .findByUserId (room .getMemberUserId ())
271+ .orElseThrow (() -> new EntityNotFoundException ("멤버 프로필을 찾을 수 없습니다." ));
272+
256273 String roomName = profileRepository .findByUserId (otherUserId )
257274 .map (Profile ::getNickname )
258275 .orElse (userRepository .findById (otherUserId )
@@ -265,7 +282,7 @@ public List<MyChatListResponse> getMyChatRooms(Long myUserId, ChatFilterType fil
265282 String myRole = myUserId .equals (room .getLeaderUserId ()) ? "LEADER" : "MEMBER" ;
266283 String topicId = buildTopicId (room .getPostId (), room .getLeaderUserId (), room .getMemberUserId ());
267284
268- // 마지막 메시지 조회 - roomId 사용
285+ // 마지막 메시지 조회
269286 Optional <ChatMessage > lastMessageOpt = chatMessageRepository
270287 .findLastMessageByRoomId (room .getId ());
271288
@@ -288,6 +305,8 @@ public List<MyChatListResponse> getMyChatRooms(Long myUserId, ChatFilterType fil
288305 .lastMessage (lastMessage )
289306 .lastMessageAt (lastMessageAt )
290307 .postId (room .getPostId ())
308+ .leaderProfileImageCode (leaderProfile .getProfileImageCode ())
309+ .memberProfileImageCode (memberProfile .getProfileImageCode ())
291310 .build ();
292311 })
293312 .filter (response -> {
@@ -297,7 +316,7 @@ public List<MyChatListResponse> getMyChatRooms(Long myUserId, ChatFilterType fil
297316 return true ;
298317 })
299318 .sorted (Comparator .comparing (MyChatListResponse ::getLastMessageAt ,
300- Comparator .nullsLast (Comparator .reverseOrder ()))) // 최신순 정렬
319+ Comparator .nullsLast (Comparator .reverseOrder ())))
301320 .collect (Collectors .toList ());
302321 }
303322
0 commit comments