From 92119be6fad2c108fe1572964ebcdf87063e05bf Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Thu, 27 Mar 2025 10:55:57 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=8C=EC=8B=9C=ED=8C=90=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../localhost/mapper/localbordMapper.java | 2 ++ .../localhost/service/localbordService.java | 27 ++++++++++--------- src/main/resources/mapper/localbordMapper.xml | 6 +++++ 3 files changed, 22 insertions(+), 13 deletions(-) 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} +