Skip to content

Commit

Permalink
Merge pull request #53 from jisung-in/feature/52-user-id-talkroom-query
Browse files Browse the repository at this point in the history
  • Loading branch information
AHNYUNKI authored Mar 31, 2024
2 parents 0e87aa2 + 5d3808a commit 54db0cc
Showing 1 changed file with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,36 @@ public TalkRoomFindOneResponse findOneTalkRoom(Long talkRoomId) {
return findOneTalkRoom;
}

/**
* 유저 ID로 유저가 생성한 토론방 찾아오는 메서드
*/
public void findAllUserCreatedTalkRooms(Long userId) {
List<TalkRoomFindAllResponse> userTalkRooms = findAllUserTalkRooms(userId);

Map<Long, List<TalkRoomLikeUserIdResponse>> talkRoomLikeUserMap = findAllTalkRoomLikeUserId(
toTalkRoomIds(userTalkRooms));
userTalkRooms.forEach(t -> t.addTalkRoomLikeUserIds(talkRoomLikeUserMap.get(t.getTalkRoomId())));
}

private List<TalkRoomFindAllResponse> findAllUserTalkRooms(Long userId) {
return queryFactory.select(new QTalkRoomFindAllResponse(
talkRoom.id.as("talkRoomId"),
user.name.as("userName"),
talkRoom.title,
talkRoom.content,
book.title,
book.imageUrl,
talkRoomLike.count().as("likeCount")
))
.from(talkRoom)
.leftJoin(talkRoom.user, user).on(user.eq(talkRoom.user))
.leftJoin(talkRoom.book, book).on(book.eq(talkRoom.book))
.leftJoin(talkRoomLike).on(talkRoom.eq(talkRoomLike.talkRoom))
.groupBy(talkRoom.id)
.where(talkRoom.user.id.eq(userId))
.fetch();
}

// 토크룸 페이징 조회 쿼리
private List<TalkRoomFindAllResponse> findTalkRoomBySearch(SearchServiceRequest search) {
return queryFactory.select(new QTalkRoomFindAllResponse(
Expand Down

0 comments on commit 54db0cc

Please sign in to comment.