Skip to content

Commit

Permalink
Merge pull request #287 from Geek-sasaeng/tomas
Browse files Browse the repository at this point in the history
#237 feat: 채팅방 목록 조회API-채팅방 최초 입장 시간res에 enterTime필드 추가
  • Loading branch information
xhaktmchl authored Jan 23, 2023
2 parents a72b2bc + f132260 commit 7ebb7c0
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
package shop.geeksasang.dto.chat.partychatroom;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import shop.geeksasang.domain.chat.PartyChatRoom;
import shop.geeksasang.domain.chat.PartyChatRoomMember;

import java.time.LocalDateTime;

@Getter
@NoArgsConstructor
Expand All @@ -15,12 +19,17 @@ public class GetPartyChatRoomRes {
@ApiModelProperty(example = "데빈의 채팅방", value = "채팅방 정보 리스트")
private String roomTitle;

public GetPartyChatRoomRes(String roomId, String title) {
@ApiModelProperty(example = "2023-01-03 11:00:12", value = "채팅방 최초 입장시간")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul")
private LocalDateTime enterTime;

public GetPartyChatRoomRes(String roomId, String title, LocalDateTime enterTime) {
this.roomId = roomId;
this.roomTitle = title;
this.enterTime = enterTime;
}

public static GetPartyChatRoomRes of(PartyChatRoom partyChatRoom){
return new GetPartyChatRoomRes(partyChatRoom.getId(), partyChatRoom.getTitle());
public static GetPartyChatRoomRes of(PartyChatRoom partyChatRoom, PartyChatRoomMember partyChatRoomMember){
return new GetPartyChatRoomRes(partyChatRoom.getId(), partyChatRoom.getTitle(), partyChatRoomMember.getEnterTime());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ public GetPartyChatRoomsRes findPartyChatRooms(int memberId, int cursor) {
List<GetPartyChatRoomRes> result = members.stream()
//.filter(member -> member.getPartyChatRoom().getBaseEntityMongo().getStatus() == BaseStatus.ACTIVE) // 필터링에서 에러 남
.sorted(Comparator.comparing(PartyChatRoomMember::getLastChatAt).reversed()) //TODO: 최신 메시지 순으로 정렬했지만 메소드 정의 위치가 맞는지 테스트 필요
.map(member -> GetPartyChatRoomRes.of(member.getPartyChatRoom()))
.map(member -> GetPartyChatRoomRes.of(member.getPartyChatRoom(), member))
.collect(Collectors.toList());

return new GetPartyChatRoomsRes(result, members.isLast());
Expand Down

0 comments on commit 7ebb7c0

Please sign in to comment.