diff --git a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/CommentEntity.java b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/CommentEntity.java index affd3089..9f3df25f 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/CommentEntity.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/CommentEntity.java @@ -17,7 +17,6 @@ @Getter @SuperBuilder @NoArgsConstructor(access = AccessLevel.PROTECTED) -@SQLDelete(sql = "UPDATE comment SET is_deleted = true WHERE comment_id = ?") @SQLRestriction("is_deleted = false") public class CommentEntity extends BaseTimeEntity { @Id diff --git a/src/main/java/clap/server/adapter/outbound/persistense/repository/history/TaskHistoryRepository.java b/src/main/java/clap/server/adapter/outbound/persistense/repository/history/TaskHistoryRepository.java index 7707a184..f822aa2e 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/repository/history/TaskHistoryRepository.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/repository/history/TaskHistoryRepository.java @@ -9,7 +9,7 @@ @Repository public interface TaskHistoryRepository extends JpaRepository, TaskHistoryCustomRepository { - @Modifying + @Modifying(clearAutomatically = true, flushAutomatically = true) @Query("UPDATE TaskHistoryEntity t SET t.isDeleted = true WHERE t.comment.commentId = :commentId") void updateByComment_CommentId(@Param("commentId") Long commentId); } diff --git a/src/main/java/clap/server/application/service/history/CommandCommentService.java b/src/main/java/clap/server/application/service/history/CommandCommentService.java index 670a3fe8..05e6f578 100644 --- a/src/main/java/clap/server/application/service/history/CommandCommentService.java +++ b/src/main/java/clap/server/application/service/history/CommandCommentService.java @@ -55,16 +55,14 @@ public void deleteComment(Long userId, Long commentId) { Member member = memberService.findActiveMember(userId); Comment comment = commentService.findById(commentId); - if (Member.checkCommenter(comment.getTask(), member)) { - // 첨부파일이 있을 경우 삭제 + + if (Objects.equals(comment.getMember().getMemberId(), member.getMemberId())) { if (loadAttachmentPort.exitsByCommentId(commentId)) { deleteAttachments(commentId); } - // comment 삭제 - commandCommentPort.deleteComment(comment); - // comment와 관련된 taskHistory도 함께 삭제 - - commandTaskHistoryPort.deleteTaskHistoryByCommentId(commentId); + commandCommentPort.deleteCommentWithTaskHistory(commentId); + }else{ + throw new DomainException(MemberErrorCode.NOT_A_COMMENTER); } }