77import com .example .FixLog .domain .post .Post ;
88import com .example .FixLog .domain .post .PostTag ;
99import com .example .FixLog .domain .tag .Tag ;
10- import com .example .FixLog .dto .UserIdDto ;
1110import com .example .FixLog .dto .post .PostDto ;
1211import com .example .FixLog .dto .post .PostRequestDto ;
1312import com .example .FixLog .dto .post .PostResponseDto ;
1413import com .example .FixLog .exception .CustomException ;
1514import com .example .FixLog .exception .ErrorCode ;
16- import com .example .FixLog .repository .MemberRepository ;
1715import com .example .FixLog .repository .bookmark .BookmarkFolderRepository ;
1816import com .example .FixLog .repository .bookmark .BookmarkRepository ;
1917import com .example .FixLog .repository .like .PostLikeRepository ;
3129@ Service
3230public class PostService {
3331 private final PostRepository postRepository ;
34- private final MemberRepository memberRepository ;
3532 private final PostLikeRepository postLikeRepository ;
3633 private final BookmarkRepository bookmarkRepository ;
3734 private final TagRepository tagRepository ;
3835 private final BookmarkFolderRepository bookmarkFolderRepository ;
36+ private final MemberService memberService ;
3937
40- public PostService (PostRepository postRepository , MemberRepository memberRepository ,
41- PostLikeRepository postLikeRepository , BookmarkRepository bookmarkRepository ,
42- TagRepository tagRepository , BookmarkFolderRepository bookmarkFolderRepository ){
38+ public PostService (PostRepository postRepository , PostLikeRepository postLikeRepository ,
39+ BookmarkRepository bookmarkRepository , TagRepository tagRepository ,
40+ BookmarkFolderRepository bookmarkFolderRepository , MemberService memberService ){
4341 this .postRepository = postRepository ;
44- this .memberRepository = memberRepository ;
4542 this .postLikeRepository = postLikeRepository ;
4643 this .bookmarkRepository = bookmarkRepository ;
4744 this .tagRepository = tagRepository ;
4845 this .bookmarkFolderRepository = bookmarkFolderRepository ;
49- }
50-
51- // 회원 정보 불러오기
52- public Member getMemberOrThrow (Long userId ) {
53- return memberRepository .findById (userId )
54- .orElseThrow (() -> new CustomException (ErrorCode .USER_NICKNAME_NOT_FOUND ));
46+ this .memberService = memberService ;
5547 }
5648
5749 // 이미지 null일 때 default 사진으로 변경 (프로필 사진,
@@ -65,7 +57,7 @@ public String getDefaultImage(String image){
6557 // 게시글 생성하기
6658 @ Transactional
6759 public void createPost (PostRequestDto postRequestDto ){
68- Member member = getMemberOrThrow ( postRequestDto . getUserId () );
60+ Member member = memberService . getCurrentMemberInfo ( );
6961
7062 String coverImageUrl = postRequestDto .getCoverImageUrl ();
7163
@@ -101,15 +93,15 @@ public void createPost(PostRequestDto postRequestDto){
10193 }
10294
10395 // 게시글 조회하기
104- public PostResponseDto viewPost (Long postId , UserIdDto userIdDto ){
105- Member userId = getMemberOrThrow ( userIdDto . getUserId () );
96+ public PostResponseDto viewPost (Long postId ){
97+ Member member = memberService . getCurrentMemberInfo ( );
10698
10799 Post currentPost = postRepository .findById (postId )
108100 .orElseThrow (() -> new CustomException (ErrorCode .POST_NOT_FOUND ));
109101
110102 PostDto postInfo = new PostDto (
111103 currentPost .getPostTitle (),
112- currentPost .getCoverImage (),
104+ getDefaultImage ( currentPost .getCoverImage () ),
113105 currentPost .getProblem (),
114106 currentPost .getErrorMessage (),
115107 currentPost .getEnvironment (),
@@ -123,52 +115,52 @@ public PostResponseDto viewPost(Long postId, UserIdDto userIdDto){
123115 .collect (Collectors .toList ())
124116 );
125117
126- String nickname = userId .getNickname ();
118+ String nickname = member .getNickname ();
127119 LocalDate createdAt = currentPost .getCreatedAt ().toLocalDate ();
128120 boolean isLiked = currentPost .getPostLikes ().stream ()
129- .anyMatch (postLike -> postLike .getUserId ().equals (userId ));
121+ .anyMatch (postLike -> postLike .getUserId ().equals (member ));
130122 boolean isMarked = currentPost .getBookmarks ().stream ()
131- .anyMatch (bookmark -> bookmark .getFolderId ().getUserId ().equals (userId ));
123+ .anyMatch (bookmark -> bookmark .getFolderId ().getUserId ().equals (member ));
132124
133125 return new PostResponseDto (postInfo , nickname , createdAt , isLiked , isMarked );
134126 }
135127
136128 // 게시글 좋아요
137- public String togglePostLike (Long postIdInput , UserIdDto userIdDto ){
138- Member userId = getMemberOrThrow ( userIdDto . getUserId () );
129+ public String togglePostLike (Long postIdInput ){
130+ Member member = memberService . getCurrentMemberInfo ( );
139131
140132 Post postId = postRepository .findById (postIdInput )
141133 .orElseThrow (() -> new CustomException (ErrorCode .POST_NOT_FOUND ));
142134
143- Optional <PostLike > optionalLike = postLikeRepository .findByUserIdAndPostId (userId , postId );
135+ Optional <PostLike > optionalLike = postLikeRepository .findByUserIdAndPostId (member , postId );
144136
145137 if (optionalLike .isEmpty ()){ // 객체 없는 경우
146- PostLike newLike = new PostLike (userId , postId );
138+ PostLike newLike = new PostLike (member , postId );
147139 postLikeRepository .save (newLike );
148140 return "게시글 좋아요 성공" ;
149141 } else { // 객체 있는 경우
150142 PostLike postLike = optionalLike .get ();
151143 postLike .ToggleLike (!postLike .isLiked ());
152144 postLikeRepository .save (postLike );
153- if (postLike .isLiked () == true )
145+ if (postLike .isLiked ())
154146 return "게시글 좋아요 성공" ;
155147 else
156148 return "게시글 좋아요 삭제 성공" ;
157149 }
158150 }
159151
160152 // 게시글 북마크
161- public String toggleBookmark (Long postIdInput , UserIdDto userIdDto ){
162- Member userId = getMemberOrThrow ( userIdDto . getUserId () );
153+ public String toggleBookmark (Long postIdInput ){
154+ Member member = memberService . getCurrentMemberInfo ( );
163155
164156 Post postId = postRepository .findById (postIdInput )
165157 .orElseThrow (() -> new CustomException (ErrorCode .POST_NOT_FOUND ));
166158
167- BookmarkFolder folderId = bookmarkFolderRepository .findByUserId (userId ); // 이 코드는 폴더가 하나일 때만 적용됨
159+ BookmarkFolder folderId = bookmarkFolderRepository .findByUserId (member ); // 이 코드는 폴더가 하나일 때만 적용됨
168160 Optional <Bookmark > optionalBookmark = bookmarkRepository .findByFolderIdAndPostId (folderId , postId );
169161
170162 // 본인 글은 북마크 못하도록
171- if (userId == folderId .getUserId ())
163+ if (member == folderId .getUserId ())
172164 throw new CustomException (ErrorCode .SELF_BOOKMARK_NOT_ALLOWED );
173165
174166 // 북마크 처리
@@ -181,7 +173,7 @@ public String toggleBookmark(Long postIdInput, UserIdDto userIdDto){
181173 bookmark .ToggleBookmark (!bookmark .isMarked ());
182174 bookmarkRepository .save (bookmark );
183175 System .out .println (bookmark .isMarked ());
184- return (bookmark .isMarked () == true ) ? "게시글 북마크 성공" : "게시글 북마크 삭제 성공" ;
176+ return (bookmark .isMarked ()) ? "게시글 북마크 성공" : "게시글 북마크 삭제 성공" ;
185177 }
186178 }
187179}
0 commit comments