diff --git a/src/main/java/io/company/localhost/mapper/localbordMapper.java b/src/main/java/io/company/localhost/mapper/localbordMapper.java index 1e1ffab..62774ea 100644 --- a/src/main/java/io/company/localhost/mapper/localbordMapper.java +++ b/src/main/java/io/company/localhost/mapper/localbordMapper.java @@ -128,6 +128,8 @@ public interface localbordMapper { int deleteTrashFileData(FileVo vo); + void deleteGoodOrBadByCommentId(MapDto map); + } diff --git a/src/main/java/io/company/localhost/service/localbordService.java b/src/main/java/io/company/localhost/service/localbordService.java index 8c595cd..9a51a01 100644 --- a/src/main/java/io/company/localhost/service/localbordService.java +++ b/src/main/java/io/company/localhost/service/localbordService.java @@ -266,21 +266,22 @@ public class localbordService { // 대댓글이 없는 경우, 완전 삭제 boardMapper.deleteComment(commentId); } -// checkAndDeleteParentComment(map); + checkAndDeleteParentComment(map); + boardMapper.deleteGoodOrBadByCommentId(map); } -// private void checkAndDeleteParentComment(MapDto map) { -// Long parentId = (Long) map.get("LOCCMTPNT"); -// if (parentId == null) return; // 부모가 없으면 종료 -// -// // 부모 댓글의 남아있는 대댓글 개수 확인 -// int remainingReplies = boardMapper.selectReplyCount(parentId); -// -// if (remainingReplies == 0) { -// // 남은 대댓글이 없으면 부모 댓글도 삭제 -// boardMapper.deleteComment(parentId); -// } -// } + private void checkAndDeleteParentComment(MapDto map) { + Long parentId = (Long) map.get("LOCCMTPNT"); + if (parentId == null) return; // 부모가 없으면 종료 + + // 부모 댓글의 남아있는 대댓글 개수 확인 + int remainingReplies = boardMapper.selectReplyCount(parentId); + + if (remainingReplies == 0) { + // 남은 대댓글이 없으면 부모 댓글도 삭제 + boardMapper.deleteComment(parentId); + } + } public String selectCommentPassword(int commentId) { return boardMapper.selectCommentPassword(commentId); diff --git a/src/main/resources/mapper/localbordMapper.xml b/src/main/resources/mapper/localbordMapper.xml index 6f0d15e..c69aa9c 100644 --- a/src/main/resources/mapper/localbordMapper.xml +++ b/src/main/resources/mapper/localbordMapper.xml @@ -200,6 +200,12 @@ DELETE FROM localgorb WHERE LOCBRDSEQ = #{LOCBRDSEQ} + + + + DELETE FROM localgorb + WHERE LOCCMTSEQ = #{LOCCMTSEQ} +