diff --git a/src/main/java/com/server/eventee/domain/event/converter/EventConverter.java b/src/main/java/com/server/eventee/domain/event/converter/EventConverter.java index 768e3b7..adddbf3 100644 --- a/src/main/java/com/server/eventee/domain/event/converter/EventConverter.java +++ b/src/main/java/com/server/eventee/domain/event/converter/EventConverter.java @@ -4,6 +4,7 @@ import com.server.eventee.domain.event.model.Event; import com.server.eventee.domain.event.model.MemberEvent; import com.server.eventee.domain.event.model.MemberEvent.MemberEventRole; +import com.server.eventee.domain.event.repository.MemberEventRepository; import com.server.eventee.domain.group.model.Group; import com.server.eventee.domain.member.model.Member; import com.server.eventee.domain.post.model.Post; @@ -15,16 +16,14 @@ import java.util.ArrayList; import java.util.List; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @Component +@RequiredArgsConstructor public class EventConverter { + private final MemberEventRepository memberEventRepository; -// private static final String DEFAULT_EVENT_THUMBNAIL = -// "https://eventee-bucket.s3.ap-northeast-2.amazonaws.com/event/defaultEventImage.png"; - -// private static final String DEFAULT_GROUP_IMAGE = -// "https://eventee-bucket.s3.ap-northeast-2.amazonaws.com/group/defaultGroupImage.png"; public Event toEvent(String inviteCode, String title, String description, String password, LocalDateTime startAt, LocalDateTime endAt, Integer teamCount) { @@ -110,11 +109,17 @@ public EventResponse.EventWithGroupsResponse toEventWithGroupsResponse(Event eve .build(); } - public EventResponse.GroupPostsResponse toGroupPostsResponse(Group group, List posts, Member member) { + public EventResponse.GroupPostsResponse toGroupPostsResponse( + Group group, + List posts, + Member member + ) { + + Long eventId = group.getEvent().getId(); List postInfos = posts.stream() - .map(post -> convertPostToDto(post, member)) + .map(post -> convertPostToDto(post, member, eventId)) .toList(); return EventResponse.GroupPostsResponse.builder() @@ -124,10 +129,24 @@ public EventResponse.GroupPostsResponse toGroupPostsResponse(Group group, List

comments = convertComments(post.getComments(), currentUser); @@ -182,7 +201,9 @@ private EventResponse.GroupPostsResponse.PostInfo convertPostToDto(Post post, Me return EventResponse.GroupPostsResponse.PostInfo.builder() .postId(post.getPostId()) - .author(post.getMember().getNickname()) + .author(author) + .writerNickname(writerNickname) + .writerProfileUrl(writerProfileUrl) .content(post.getContent()) .type(post.getPostType().type.toLowerCase()) .createdAt(post.getCreatedAt()) @@ -194,6 +215,7 @@ private EventResponse.GroupPostsResponse.PostInfo convertPostToDto(Post post, Me .build(); } + private List convertComments( List comments, Member currentUser diff --git a/src/main/java/com/server/eventee/domain/event/dto/EventResponse.java b/src/main/java/com/server/eventee/domain/event/dto/EventResponse.java index 46825bf..920efec 100644 --- a/src/main/java/com/server/eventee/domain/event/dto/EventResponse.java +++ b/src/main/java/com/server/eventee/domain/event/dto/EventResponse.java @@ -98,11 +98,15 @@ public record GroupPostsResponse( @Schema(description = "포스트 정보 DTO") public record PostInfo( @Schema(description = "게시글 ID") Long postId, - @Schema(description = "작성자 닉네임") String author, + @Schema(description = "작성자 이름") String author, @Schema(description = "내용") String content, @Schema(description = "포스트 타입 (text / vote)") String type, @Schema(description = "작성일") LocalDateTime createdAt, + @Schema(description = "포스트 작성자 프로필 이미지") String writerProfileUrl, + @Schema(description = "포스트 작성자 닉네임") String writerNickname, + + @Schema(description = "댓글 리스트") List comments, // 투표