Skip to content

Commit eadea63

Browse files
authored
Merge pull request #67 from BackEndSchoolPlus3th/SMS-35-fix-댓글
Fix: SMS-35-댓글 상태 확인
2 parents 46bf415 + ad39762 commit eadea63

3 files changed

Lines changed: 17 additions & 7 deletions

File tree

src/main/java/org/com/stocknote/domain/comment/controller/CommentController.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,15 @@ public GlobalResponse<Void> deleteComment(@PathVariable(value = "commentId") Lon
7676
return GlobalResponse.success();
7777
}
7878

79+
@GetMapping("/check")
80+
@Operation(summary = "사용자의 게시글 댓글 작성 여부 확인")
81+
public GlobalResponse<Boolean> hasUserCommentedOnPost(
82+
@PathVariable(value = "postId") Long postId,
83+
@AuthenticationPrincipal PrincipalDetails principalDetails
84+
) {
85+
Member member = principalDetails.user();
86+
boolean hasCommented = commentService.hasUserCommentedOnPost(postId, member);
87+
return GlobalResponse.success(hasCommented);
88+
}
89+
7990
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
package org.com.stocknote.domain.comment.repository;
22

3-
import io.lettuce.core.dynamic.annotation.Param;
43
import org.com.stocknote.domain.comment.entity.Comment;
54
import org.com.stocknote.domain.member.entity.Member;
65
import org.springframework.data.domain.Page;
76
import org.springframework.data.domain.Pageable;
87
import org.springframework.data.jpa.repository.JpaRepository;
9-
import org.springframework.data.jpa.repository.Modifying;
10-
import org.springframework.data.jpa.repository.Query;
118
import org.springframework.stereotype.Repository;
129

1310
@Repository
1411
public interface CommentRepository extends JpaRepository<Comment, Long> {
1512
Page<Comment> findByPostId(Pageable pageable, Long postId);
1613
Page<Comment> findByMember(Member member, Pageable pageable);
17-
14+
boolean existsByPostIdAndMember(Long postId, Member member);
1815
}

src/main/java/org/com/stocknote/domain/comment/service/CommentService.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
package org.com.stocknote.domain.comment.service;
22

33
import lombok.RequiredArgsConstructor;
4-
54
import org.com.stocknote.domain.comment.dto.CommentDetailResponse;
65
import org.com.stocknote.domain.comment.dto.CommentRequest;
76
import org.com.stocknote.domain.comment.dto.CommentUpdateDto;
87
import org.com.stocknote.domain.comment.entity.Comment;
98
import org.com.stocknote.domain.comment.repository.CommentRepository;
109
import org.com.stocknote.domain.member.entity.Member;
1110
import org.com.stocknote.domain.member.repository.MemberRepository;
12-
1311
import org.com.stocknote.domain.notification.repository.CommentNotificationRepository;
1412
import org.com.stocknote.domain.post.entity.Post;
1513
import org.com.stocknote.domain.post.repository.PostRepository;
1614
import org.com.stocknote.global.error.ErrorCode;
1715
import org.com.stocknote.global.exception.CustomException;
1816
import org.springframework.data.domain.Page;
1917
import org.springframework.data.domain.Pageable;
20-
2118
import org.springframework.stereotype.Service;
2219
import org.springframework.transaction.annotation.Transactional;
2320

@@ -85,4 +82,9 @@ public void deleteComment(Long commentId, Member member) {
8582
commentNotificationRepository.deleteByRelatedCommentId(commentId);
8683
commentRepository.delete(comment);
8784
}
85+
86+
public boolean hasUserCommentedOnPost(Long postId, Member member) {
87+
return commentRepository.existsByPostIdAndMember(postId, member);
88+
}
89+
8890
}

0 commit comments

Comments
 (0)