하석형 하석형 05-08
250508 하석형 게시판내용 답변비밀글여부 추가, 질의형 금지어 확인되게 변경
@0a91614a8dba6fb3e4d9a81552507589252bfb03
src/main/java/com/takensoft/cms/bbs/service/Impl/BbsCnServiceImpl.java
--- src/main/java/com/takensoft/cms/bbs/service/Impl/BbsCnServiceImpl.java
+++ src/main/java/com/takensoft/cms/bbs/service/Impl/BbsCnServiceImpl.java
@@ -121,22 +121,22 @@
             List<String> wordList = wordMngDAO.findWordList();
 
             // 금지어 포함 여부 체크
-            if (bbsCn.getBbsNm() != null && !bbsCn.getBbsNm().isEmpty()) {
-                String bbsNm = bbsCn.getBbsNm();
-                String content = bbsCn.getBbsCn();
-                String bbsCnText = Jsoup.parse(content).text(); // HTML 태그 제거
-                bbsCn.setBbsCnText(bbsCnText); // HTML 태그 제거된 내용 저장
-                for (String word : wordList) {
-                    // 제목에 금지어가 포함되어있는가?
-                    if (bbsNm.contains(word)) {
-                        throw new CustomPrhibtWordException("제목에 금지어가 포함되어있습니다.", word);
-                    }
-                    // 내용에 금지어가 포함되어있는가?
-                    if (bbsCnText.contains(word)) {
-                        throw new CustomPrhibtWordException("내용에 금지어가 포함되어있습니다.", word);
-                    }
+//            if (bbsCn.getBbsNm() != null && !bbsCn.getBbsNm().isEmpty()) {
+            String bbsNm = bbsCn.getBbsNm();
+            String content = bbsCn.getBbsCn();
+            String bbsCnText = Jsoup.parse(content).text(); // HTML 태그 제거
+            bbsCn.setBbsCnText(bbsCnText); // HTML 태그 제거된 내용 저장
+            for (String word : wordList) {
+                // 제목에 금지어가 포함되어있는가?
+                if (bbsNm != null && !bbsNm.isEmpty() && bbsNm.contains(word)) {
+                    throw new CustomPrhibtWordException("제목에 금지어가 포함되어있습니다.", word);
+                }
+                // 내용에 금지어가 포함되어있는가?
+                if (bbsCnText != null && bbsCnText.contains(word)) {
+                    throw new CustomPrhibtWordException("내용에 금지어가 포함되어있습니다.", word);
                 }
             }
+//            }
 
             // 게시판 내용 아이디 생성
             String bbsId = bbsIdgn.getNextStringId();
@@ -351,18 +351,18 @@
             String content = params.get("bbsCn").toString();
             String bbsCnText = Jsoup.parse(content).text(); // HTML 태그 제거
             params.put("bbsCnText", bbsCnText); // HTML 태그 제거된 내용 저장
-            if (bbsNm != null && !bbsNm.isEmpty()) {
+//            if (bbsNm != null && !bbsNm.isEmpty()) {
                 for (String word : wordList) {
                     // 제목에 금지어가 포함되어있는가?
-                    if (bbsNm.contains(word)) {
+                    if (bbsNm != null && !bbsNm.isEmpty() && bbsNm.contains(word)) {
                         throw new CustomPrhibtWordException("제목에 금지어가 포함되어있습니다.", word);
                     }
                     // 내용에 금지어가 포함되어있는가?
-                    if (content.contains(word)) {
+                    if (bbsCnText != null && bbsCnText.contains(word)) {
                         throw new CustomPrhibtWordException("내용에 금지어가 포함되어있습니다.", word);
                     }
                 }
-            }
+//            }
 
             // 등록된 토큰에서 사용자 정보 조회
             String writer = jwtUtil.getWriter();
src/main/java/com/takensoft/cms/bbs/vo/BbsCnVO.java
--- src/main/java/com/takensoft/cms/bbs/vo/BbsCnVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/BbsCnVO.java
@@ -10,6 +10,7 @@
  *     since    |    author    | description
  *  2024.05.09  |    하석형     | 최초 등록
  *  2025.03.20  |    하석형     | 코드 리펙토링
+ *  2025.05.08  |    하석형     | ansPrvtPstYn 추가
  *
  * 게시판 내용 관련 VO
  */
@@ -48,6 +49,7 @@
     private String answerNm;         // 답변자명
     private String ansDt;            // 답변일자
     private String bbsCnText;        // 게시판 내용(텍스트)
+    private String ansPrvtPstYn;     // 답변 비밀글 여부 ( Y : 사용, N : 미사용 )
     
     public BbsCnVO() {
         this.bbsCn = "";
@@ -55,5 +57,6 @@
         this.prvtPstYn = "N";
         this.ntcBgngDt = null;
         this.ntcEndDt = null;
+        this.ansPrvtPstYn = "N";
     }
 }
(No newline at end of file)
src/main/resources/mybatis/mapper/bbs/bbsCn-SQL.xml
--- src/main/resources/mybatis/mapper/bbs/bbsCn-SQL.xml
+++ src/main/resources/mybatis/mapper/bbs/bbsCn-SQL.xml
@@ -46,6 +46,7 @@
             , rgtr
             , reg_dt
             , bbs_cn_text
+            , ans_prvt_pst_yn
         ) VALUES (
             #{bbsId}
             , #{bbsMngId}
@@ -68,6 +69,7 @@
             , #{rgtr}
             , NOW()
             , #{bbsCnText}
+            , #{ansPrvtPstYn}
         )
     </insert>
 
@@ -106,6 +108,7 @@
             , to_char(bc.mdfcn_dt, 'YYYY-MM-DD HH24:MI') AS mdfcn_dt
             , mi2.mbr_nm AS mdfr_nm
             , bbs_cn_text
+            , ans_prvt_pst_yn
         FROM bbs_cn bc
         LEFT JOIN
             mbr_info mi
@@ -153,6 +156,7 @@
              , mdfr
              , mdfcn_dt
              , bbs_cn_text
+             , ans_prvt_pst_yn
     </sql>
 
     <!--
@@ -256,6 +260,7 @@
               , mi2.mbr_nm AS mdfr_nm
               , cf.abslt_path AS abslt_path
               , bbs_cn_text
+              , ans_prvt_pst_yn
           from( SELECT bbs_id
                      , bbs_mng_id
                      , bbs_nm
@@ -282,6 +287,7 @@
                      , mdfcn_dt
                      , 'Y' as now_ntc_yn
                      , bbs_cn_text
+                     , ans_prvt_pst_yn
                   from bbs_cn bc
                  WHERE use_yn = 'Y'
                    AND ntc_pst_yn = 'Y'
@@ -313,6 +319,7 @@
                      , mdfcn_dt
                      , 'N' as now_ntc_yn
                      , bbs_cn_text
+                     , ans_prvt_pst_yn
                   from bbs_cn bc
                  WHERE use_yn = 'Y'
         <![CDATA[  and (ntc_pst_yn ='N' or ntc_bgng_dt > CURRENT_TIMESTAMP or ntc_end_dt < CURRENT_TIMESTAMP) ]]>
@@ -382,6 +389,7 @@
             , mdfr = #{mdfr}
             , mdfcn_dt = NOW()
             , bbs_cn_text = #{bbsCnText}
+            , ans_prvt_pst_yn = #{ansPrvtPstYn}
         WHERE bbs_id = #{bbsId}
     </update>
 
@@ -481,6 +489,7 @@
           , ans_stts = #{ansStts}
           , answer = #{answer}
           , ans_dt = now()
+          , ans_prvt_pst_yn = #{prvtPstYn}
         WHERE bbs_id = #{bbsId};
     </update>
 
Add a comment
List