게시판 수정

This commit is contained in:
dyhj625 2025-03-04 17:43:26 +09:00
parent b906ed74a7
commit 278605e5d9
4 changed files with 23 additions and 35 deletions

12
WEB-INF/web.xml Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_ID">
<display-name>localhost</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

View File

@ -65,9 +65,6 @@ public interface localbordMapper {
// 댓글/대댓글 수정 // 댓글/대댓글 수정
void updateComment(MapDto map); void updateComment(MapDto map);
// 대댓글인지 확인
int selectIsReply(MapDto map);
// 댓글에 대댓글이 있는지 확인 // 댓글에 대댓글이 있는지 확인
int selectHasReplies(MapDto map); int selectHasReplies(MapDto map);
@ -76,9 +73,6 @@ public interface localbordMapper {
// 댓글 삭제 (대댓글 없음) // 댓글 삭제 (대댓글 없음)
void deleteComment(MapDto map); void deleteComment(MapDto map);
// 대댓글 삭제
void deleteReply(MapDto map);
// 댓글 비밀번호 조회 // 댓글 비밀번호 조회
String selectCommentPassword(int commentId); String selectCommentPassword(int commentId);

View File

@ -173,24 +173,17 @@ public class localbordService {
} }
public void deleteComment(MapDto map) { public void deleteComment(MapDto map) {
// 댓글이 대댓글 확인 // 댓글이 대댓글 있는 확인
boolean isReply = boardMapper.selectIsReply(map) > 0; boolean hasReplies = boardMapper.selectHasReplies(map) > 0;
if (isReply) { if (hasReplies) {
// 대댓글이면 바로 삭제 // 대댓글이 있는 경우, '삭제된 댓글입니다.' 변경 (소프트 삭제)
boardMapper.deleteReply(map); boardMapper.updateSoftDeleteComment(map);
} else { } else {
// 댓글에 대댓글이 있는지 확인 // 대댓글이 없는 경우, 완전 삭제
boolean hasReplies = boardMapper.selectHasReplies(map) > 0; boardMapper.deleteComment(map);
if (hasReplies) {
// 대댓글이 있는 경우, '삭제된 댓글입니다.' 변경 (소프트 삭제)
boardMapper.updateSoftDeleteComment(map);
} else {
// 대댓글이 없는 경우, 완전 삭제
boardMapper.deleteComment(map);
}
} }
} }
public String selectCommentPassword(int commentId) { public String selectCommentPassword(int commentId) {

View File

@ -175,12 +175,14 @@
<!-- 댓글 삭제 --> <!-- 댓글 삭제 -->
<update id="updateSoftDeleteComment"> <update id="updateSoftDeleteComment">
UPDATE localcomt UPDATE localcomt
SET LOCCMTRPY = '삭제된 댓글입니다' SET LOCCMTRPY = '삭제된 댓글입니다',
LOCCMTUDT = NOW()
WHERE LOCCMTSEQ = #{LOCCMTSEQ} WHERE LOCCMTSEQ = #{LOCCMTSEQ}
AND EXISTS ( AND EXISTS (
SELECT 1 FROM localcomt WHERE LOCCMTPNT = #{LOCCMTSEQ} SELECT 1 FROM localcomt WHERE LOCCMTPNT = #{LOCCMTSEQ}
) )
</update> </update>
<!-- 댓글 삭제 (대댓글 없을 경우) --> <!-- 댓글 삭제 (대댓글 없을 경우) -->
<delete id="deleteComment"> <delete id="deleteComment">
@ -190,19 +192,6 @@
SELECT 1 FROM localcomt WHERE LOCCMTPNT = #{LOCCMTSEQ} SELECT 1 FROM localcomt WHERE LOCCMTPNT = #{LOCCMTSEQ}
) )
</delete> </delete>
<!-- 대댓글 삭제 -->
<delete id="deleteReply">
DELETE FROM localcomt
WHERE LOCCMTSEQ = #{LOCCMTSEQ}
AND LOCCMTPNT IS NOT NULL
</delete>
<!-- 대댓글인지 확인 -->
<select id="selectIsReply" resultType="int">
SELECT COUNT(1) FROM localcomt
WHERE LOCCMTSEQ = #{LOCCMTSEQ} AND LOCCMTPNT IS NOT NULL
</select>
<!-- 댓글에 대댓글이 있는지 확인 --> <!-- 댓글에 대댓글이 있는지 확인 -->
<select id="selectHasReplies" resultType="int"> <select id="selectHasReplies" resultType="int">