Skip to content

Commit 3c2d8eb

Browse files
authored
fix:객체타입대신 ID로 받아오도록 수정 (#128)
1 parent e092703 commit 3c2d8eb

3 files changed

Lines changed: 19 additions & 17 deletions

File tree

src/main/java/com/tave/alarmissue/post/repository/LikeRepository.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,29 @@
1414
import java.util.Optional;
1515

1616
public interface LikeRepository extends JpaRepository<PostLike, Long> {
17-
1817
@Query("SELECT l FROM PostLike l " +
19-
"WHERE l.user = :user AND l.post = :post AND l.targetType = 'POST'")
18+
"WHERE l.user.id = :userId AND l.post.postId = :postId AND l.targetType = 'POST'")
2019
Optional<PostLike> findPostLike(
21-
@Param("user") UserEntity user,
22-
@Param("post") Post post
20+
@Param("userId") Long userId,
21+
@Param("postId") Long postId
2322
);
2423

24+
// 댓글 좋아요
2525
@Query("SELECT l FROM PostLike l " +
26-
"WHERE l.user = :user AND l.comment = :comment AND l.targetType = 'COMMENT'")
26+
"WHERE l.user.id = :userId AND l.comment.commentId = :commentId AND l.targetType = 'COMMENT'")
2727
Optional<PostLike> findCommentLike(
28-
@Param("user") UserEntity user,
29-
@Param("comment") PostComment comment
28+
@Param("userId") Long userId,
29+
@Param("commentId") Long commentId
3030
);
3131

32+
// 대댓글 좋아요
3233
@Query("SELECT l FROM PostLike l " +
33-
"WHERE l.user = :user AND l.postReply = :reply AND l.targetType = 'REPLY'")
34+
"WHERE l.user.id = :userId AND l.postReply.replyId = :replyId AND l.targetType = 'REPLY'")
3435
Optional<PostLike> findReplyLike(
35-
@Param("user") UserEntity user,
36-
@Param("reply") PostReply reply
36+
@Param("userId") Long userId,
37+
@Param("replyId") Long replyId
3738
);
39+
3840
@Query("SELECT l FROM PostLike l WHERE l.user = :user AND l.targetType = :targetType AND l.post.postId IN :postIds")
3941
List<PostLike> findAllByUserAndTargetTypeAndPostIds(
4042
@Param("user") UserEntity user,

src/main/java/com/tave/alarmissue/post/service/LikeService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public LikeResponse postLike(Long userId, Long postId) {
3939
Post post = getPostById(postId);
4040

4141
// 기존 좋아요가 존재하는지 확인
42-
Optional<PostLike> existingLike = likeRepository.findPostLike(user, post);
42+
Optional<PostLike> existingLike = likeRepository.findPostLike(userId, postId);
4343

4444
if (existingLike.isPresent()) {
4545

@@ -67,7 +67,7 @@ public LikeResponse commentLike(Long userId,Long commentId) {
6767
UserEntity user = getUserById(userId);
6868
PostComment postComment = getPostCommentById(commentId);
6969

70-
Optional<PostLike> existingLike = likeRepository.findCommentLike(user, postComment);
70+
Optional<PostLike> existingLike = likeRepository.findCommentLike(userId, commentId);
7171

7272
if (existingLike.isPresent()) {
7373
Long LikeId = existingLike.get().getLikeId();
@@ -94,7 +94,7 @@ public LikeResponse replyLike(Long userId, Long replyId) {
9494
UserEntity user = getUserById(userId);
9595
PostReply reply = getPostReplyById(replyId);
9696

97-
Optional<PostLike> existingLike = likeRepository.findReplyLike(user,reply);
97+
Optional<PostLike> existingLike = likeRepository.findReplyLike(userId,replyId);
9898
if (existingLike.isPresent()) {
9999
Long LikeId = existingLike.get().getLikeId();
100100
likeRepository.delete(existingLike.get()); // 좋아요 취소

src/main/java/com/tave/alarmissue/post/service/PostService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public PostResponse updatePost(Long postId, PostUpdateRequest dto, Long userId)
8888
if (!post.getHasVote()) voteRepository.deleteAllByPost(post);
8989
Post saved = postRepository.save(post);
9090

91-
boolean isLiked = isPostLikedByUser(user, post);
91+
boolean isLiked = isPostLikedByUser(userId, postId);
9292

9393
return PostConverter.toPostResponseDto(saved,isLiked);
9494

@@ -117,7 +117,7 @@ public PostDetailResponse getPostDetail(Long postId, Long userId) {
117117

118118
VoteResponse voteResponse = createVoteResponse(post, userId);
119119

120-
boolean isLiked = isPostLikedByUser(user, post);
120+
boolean isLiked = isPostLikedByUser(userId, postId);
121121
List<CommentResponse> commentResponses = getCommentResponses(post,user);
122122

123123
return PostConverter.toPostDetailResponseDto(post, voteResponse, commentResponses, isLiked);
@@ -215,8 +215,8 @@ private VoteResponse createVoteResponse(Post post, Long userId) {
215215
return PostVoteConverter.toVoteResponseDto(post, myVoteType, voteCounts);
216216
}
217217

218-
private boolean isPostLikedByUser(UserEntity user, Post post) {
219-
return likeRepository.findPostLike(user, post)
218+
private boolean isPostLikedByUser(Long userId, Long postId) {
219+
return likeRepository.findPostLike(userId, postId)
220220
.isPresent();
221221
}
222222

0 commit comments

Comments
 (0)