Skip to content

Commit 0545a9f

Browse files
committed
feat: limit the number of comments a user can create
1 parent a249919 commit 0545a9f

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

src/main/java/com/back/domain/cocktail/comment/entity/CocktailComment.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
import java.time.LocalDateTime;
1616

1717
@Entity
18+
@Table(
19+
name = "cocktail_comment",
20+
uniqueConstraints = @UniqueConstraint(columnNames = {"cocktail_id", "user_id"}) // 사용자 1개 댓글 제한
21+
)
1822
@Getter
1923
@EntityListeners(AuditingEntityListener.class)
2024
@NoArgsConstructor(access = lombok.AccessLevel.PROTECTED)

src/main/java/com/back/domain/cocktail/comment/repository/CocktailCommentRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ public interface CocktailCommentRepository extends JpaRepository<CocktailComment
1212
List<CocktailComment> findTop10ByCocktailIdOrderByIdDesc(Long cocktailId);
1313

1414
List<CocktailComment> findTop10ByCocktailIdAndIdLessThanOrderByIdDesc(Long cocktailId, Long lastId);
15+
16+
boolean existsByCocktailIdAndUserId(Long cocktailId, Long id);
1517
}

src/main/java/com/back/domain/cocktail/comment/service/CocktailCommentService.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ public CocktailCommentResponseDto createCocktailComment(Long cocktailId, Cocktai
3131
Cocktail cocktail = cocktailRepository.findById(cocktailId)
3232
.orElseThrow(() -> new IllegalArgumentException("칵테일이 존재하지 않습니다. id=" + cocktailId));
3333

34+
// 사용자당 댓글 1개 제한 체크
35+
boolean exists = cocktailCommentRepository.existsByCocktailIdAndUserId(cocktailId, user.getId());
36+
if (exists) {
37+
throw new IllegalArgumentException("이미 댓글을 작성하셨습니다.");
38+
}
39+
3440
CocktailComment cocktailComment = CocktailComment.builder()
3541
.cocktail(cocktail)
3642
.user(user)

0 commit comments

Comments
 (0)