Skip to content

Commit da0a727

Browse files
committed
fix(post) : #75 - 게시글 보기 response 수정
1 parent 244895c commit da0a727

3 files changed

Lines changed: 26 additions & 8 deletions

File tree

src/main/java/com/example/FixLog/dto/post/PostDto.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
@Getter
99
@AllArgsConstructor
1010
public class PostDto {
11+
private String nickname;
1112
private String postTitle;
1213
private String coverImageUrl;
1314
private String problem;

src/main/java/com/example/FixLog/dto/post/PostResponseDto.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
@AllArgsConstructor
1010
public class PostResponseDto {
1111
private PostDto postInfo;
12+
private LocalDate createdAt;
1213

1314
private String nickname;
14-
private LocalDate createdAt;
15+
private String profileImageUrl;
1516
private boolean isLiked;
1617
private boolean isMarked;
1718
}

src/main/java/com/example/FixLog/service/PostService.java

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ else if (categories.size() > 1)
129129
throw new CustomException(ErrorCode.REQUIRED_TAGS_MISSING);
130130
// throw new CustomException(ErrorCode.REQUIRED_TAGS_MISSING, String.join(", ", issues));
131131
// throw new CustomException(ErrorCode.REQUIRED_TAGS_MISSING.withDetail(missingTypes.toString()));
132+
// Todo 어떤 태그가 선택 안된건지 보여지도록 수정
132133
}
133134
return tags;
134135
}
@@ -143,12 +144,13 @@ private void validatePost(PostRequestDto postRequestDto){
143144

144145
// 게시글 조회하기
145146
public PostResponseDto viewPost(Long postId){
146-
Member member = memberService.getCurrentMemberInfo();
147+
Optional<Member> optionalMember = memberService.getCurrentOptionalMemberInfo();
147148

148149
Post currentPost = postRepository.findById(postId)
149150
.orElseThrow(() -> new CustomException(ErrorCode.POST_NOT_FOUND));
150151

151152
PostDto postInfo = new PostDto(
153+
currentPost.getUserId().getNickname(),
152154
currentPost.getPostTitle(),
153155
getDefaultImage(currentPost.getCoverImage()),
154156
currentPost.getProblem(),
@@ -164,14 +166,28 @@ public PostResponseDto viewPost(Long postId){
164166
.collect(toList())
165167
);
166168

167-
String nickname = member.getNickname();
169+
String nickname; String profileImageUrl;
170+
boolean isLiked; boolean isMarked;
171+
if (optionalMember.isPresent()){
172+
Member member = optionalMember.get();
173+
nickname = member.getNickname();
174+
String imageUrl = member.getProfileImageUrl();
175+
profileImageUrl = getDefaultImage(imageUrl);
176+
177+
isLiked = currentPost.getPostLikes().stream()
178+
.anyMatch(postLike -> postLike.getUserId().equals(member));
179+
isMarked = currentPost.getBookmarks().stream()
180+
.anyMatch(bookmark -> bookmark.getFolderId().getUserId().equals(member));
181+
} else {
182+
nickname = "로그인하지 않았습니다.";
183+
profileImageUrl = "https://example.com/default-cover-image.png"; // 비로그인 기본 이미지
184+
isLiked = false;
185+
isMarked = false;
186+
}
187+
168188
LocalDate createdAt = currentPost.getCreatedAt().toLocalDate();
169-
boolean isLiked = currentPost.getPostLikes().stream()
170-
.anyMatch(postLike -> postLike.getUserId().equals(member));
171-
boolean isMarked = currentPost.getBookmarks().stream()
172-
.anyMatch(bookmark -> bookmark.getFolderId().getUserId().equals(member));
173189

174-
return new PostResponseDto(postInfo, nickname, createdAt, isLiked, isMarked);
190+
return new PostResponseDto(postInfo, createdAt, nickname, profileImageUrl, isLiked, isMarked);
175191
}
176192

177193
// 게시글 좋아요

0 commit comments

Comments
 (0)