
--- 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 @@ |
121 | 121 |
List<String> wordList = wordMngDAO.findWordList(); |
122 | 122 |
|
123 | 123 |
// 금지어 포함 여부 체크 |
124 |
- if (bbsCn.getBbsNm() != null && !bbsCn.getBbsNm().isEmpty()) { |
|
125 |
- String bbsNm = bbsCn.getBbsNm(); |
|
126 |
- String content = bbsCn.getBbsCn(); |
|
127 |
- String bbsCnText = Jsoup.parse(content).text(); // HTML 태그 제거 |
|
128 |
- bbsCn.setBbsCnText(bbsCnText); // HTML 태그 제거된 내용 저장 |
|
129 |
- for (String word : wordList) { |
|
130 |
- // 제목에 금지어가 포함되어있는가? |
|
131 |
- if (bbsNm.contains(word)) { |
|
132 |
- throw new CustomPrhibtWordException("제목에 금지어가 포함되어있습니다.", word); |
|
133 |
- } |
|
134 |
- // 내용에 금지어가 포함되어있는가? |
|
135 |
- if (bbsCnText.contains(word)) { |
|
136 |
- throw new CustomPrhibtWordException("내용에 금지어가 포함되어있습니다.", word); |
|
137 |
- } |
|
124 |
+// if (bbsCn.getBbsNm() != null && !bbsCn.getBbsNm().isEmpty()) { |
|
125 |
+ String bbsNm = bbsCn.getBbsNm(); |
|
126 |
+ String content = bbsCn.getBbsCn(); |
|
127 |
+ String bbsCnText = Jsoup.parse(content).text(); // HTML 태그 제거 |
|
128 |
+ bbsCn.setBbsCnText(bbsCnText); // HTML 태그 제거된 내용 저장 |
|
129 |
+ for (String word : wordList) { |
|
130 |
+ // 제목에 금지어가 포함되어있는가? |
|
131 |
+ if (bbsNm != null && !bbsNm.isEmpty() && bbsNm.contains(word)) { |
|
132 |
+ throw new CustomPrhibtWordException("제목에 금지어가 포함되어있습니다.", word); |
|
133 |
+ } |
|
134 |
+ // 내용에 금지어가 포함되어있는가? |
|
135 |
+ if (bbsCnText != null && bbsCnText.contains(word)) { |
|
136 |
+ throw new CustomPrhibtWordException("내용에 금지어가 포함되어있습니다.", word); |
|
138 | 137 |
} |
139 | 138 |
} |
139 |
+// } |
|
140 | 140 |
|
141 | 141 |
// 게시판 내용 아이디 생성 |
142 | 142 |
String bbsId = bbsIdgn.getNextStringId(); |
... | ... | @@ -351,18 +351,18 @@ |
351 | 351 |
String content = params.get("bbsCn").toString(); |
352 | 352 |
String bbsCnText = Jsoup.parse(content).text(); // HTML 태그 제거 |
353 | 353 |
params.put("bbsCnText", bbsCnText); // HTML 태그 제거된 내용 저장 |
354 |
- if (bbsNm != null && !bbsNm.isEmpty()) { |
|
354 |
+// if (bbsNm != null && !bbsNm.isEmpty()) { |
|
355 | 355 |
for (String word : wordList) { |
356 | 356 |
// 제목에 금지어가 포함되어있는가? |
357 |
- if (bbsNm.contains(word)) { |
|
357 |
+ if (bbsNm != null && !bbsNm.isEmpty() && bbsNm.contains(word)) { |
|
358 | 358 |
throw new CustomPrhibtWordException("제목에 금지어가 포함되어있습니다.", word); |
359 | 359 |
} |
360 | 360 |
// 내용에 금지어가 포함되어있는가? |
361 |
- if (content.contains(word)) { |
|
361 |
+ if (bbsCnText != null && bbsCnText.contains(word)) { |
|
362 | 362 |
throw new CustomPrhibtWordException("내용에 금지어가 포함되어있습니다.", word); |
363 | 363 |
} |
364 | 364 |
} |
365 |
- } |
|
365 |
+// } |
|
366 | 366 |
|
367 | 367 |
// 등록된 토큰에서 사용자 정보 조회 |
368 | 368 |
String writer = jwtUtil.getWriter(); |
--- src/main/java/com/takensoft/cms/bbs/vo/BbsCnVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/BbsCnVO.java
... | ... | @@ -10,6 +10,7 @@ |
10 | 10 |
* since | author | description |
11 | 11 |
* 2024.05.09 | 하석형 | 최초 등록 |
12 | 12 |
* 2025.03.20 | 하석형 | 코드 리펙토링 |
13 |
+ * 2025.05.08 | 하석형 | ansPrvtPstYn 추가 |
|
13 | 14 |
* |
14 | 15 |
* 게시판 내용 관련 VO |
15 | 16 |
*/ |
... | ... | @@ -48,6 +49,7 @@ |
48 | 49 |
private String answerNm; // 답변자명 |
49 | 50 |
private String ansDt; // 답변일자 |
50 | 51 |
private String bbsCnText; // 게시판 내용(텍스트) |
52 |
+ private String ansPrvtPstYn; // 답변 비밀글 여부 ( Y : 사용, N : 미사용 ) |
|
51 | 53 |
|
52 | 54 |
public BbsCnVO() { |
53 | 55 |
this.bbsCn = ""; |
... | ... | @@ -55,5 +57,6 @@ |
55 | 57 |
this.prvtPstYn = "N"; |
56 | 58 |
this.ntcBgngDt = null; |
57 | 59 |
this.ntcEndDt = null; |
60 |
+ this.ansPrvtPstYn = "N"; |
|
58 | 61 |
} |
59 | 62 |
}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/resources/mybatis/mapper/bbs/bbsCn-SQL.xml
+++ src/main/resources/mybatis/mapper/bbs/bbsCn-SQL.xml
... | ... | @@ -46,6 +46,7 @@ |
46 | 46 |
, rgtr |
47 | 47 |
, reg_dt |
48 | 48 |
, bbs_cn_text |
49 |
+ , ans_prvt_pst_yn |
|
49 | 50 |
) VALUES ( |
50 | 51 |
#{bbsId} |
51 | 52 |
, #{bbsMngId} |
... | ... | @@ -68,6 +69,7 @@ |
68 | 69 |
, #{rgtr} |
69 | 70 |
, NOW() |
70 | 71 |
, #{bbsCnText} |
72 |
+ , #{ansPrvtPstYn} |
|
71 | 73 |
) |
72 | 74 |
</insert> |
73 | 75 |
|
... | ... | @@ -106,6 +108,7 @@ |
106 | 108 |
, to_char(bc.mdfcn_dt, 'YYYY-MM-DD HH24:MI') AS mdfcn_dt |
107 | 109 |
, mi2.mbr_nm AS mdfr_nm |
108 | 110 |
, bbs_cn_text |
111 |
+ , ans_prvt_pst_yn |
|
109 | 112 |
FROM bbs_cn bc |
110 | 113 |
LEFT JOIN |
111 | 114 |
mbr_info mi |
... | ... | @@ -153,6 +156,7 @@ |
153 | 156 |
, mdfr |
154 | 157 |
, mdfcn_dt |
155 | 158 |
, bbs_cn_text |
159 |
+ , ans_prvt_pst_yn |
|
156 | 160 |
</sql> |
157 | 161 |
|
158 | 162 |
<!-- |
... | ... | @@ -256,6 +260,7 @@ |
256 | 260 |
, mi2.mbr_nm AS mdfr_nm |
257 | 261 |
, cf.abslt_path AS abslt_path |
258 | 262 |
, bbs_cn_text |
263 |
+ , ans_prvt_pst_yn |
|
259 | 264 |
from( SELECT bbs_id |
260 | 265 |
, bbs_mng_id |
261 | 266 |
, bbs_nm |
... | ... | @@ -282,6 +287,7 @@ |
282 | 287 |
, mdfcn_dt |
283 | 288 |
, 'Y' as now_ntc_yn |
284 | 289 |
, bbs_cn_text |
290 |
+ , ans_prvt_pst_yn |
|
285 | 291 |
from bbs_cn bc |
286 | 292 |
WHERE use_yn = 'Y' |
287 | 293 |
AND ntc_pst_yn = 'Y' |
... | ... | @@ -313,6 +319,7 @@ |
313 | 319 |
, mdfcn_dt |
314 | 320 |
, 'N' as now_ntc_yn |
315 | 321 |
, bbs_cn_text |
322 |
+ , ans_prvt_pst_yn |
|
316 | 323 |
from bbs_cn bc |
317 | 324 |
WHERE use_yn = 'Y' |
318 | 325 |
<![CDATA[ and (ntc_pst_yn ='N' or ntc_bgng_dt > CURRENT_TIMESTAMP or ntc_end_dt < CURRENT_TIMESTAMP) ]]> |
... | ... | @@ -382,6 +389,7 @@ |
382 | 389 |
, mdfr = #{mdfr} |
383 | 390 |
, mdfcn_dt = NOW() |
384 | 391 |
, bbs_cn_text = #{bbsCnText} |
392 |
+ , ans_prvt_pst_yn = #{ansPrvtPstYn} |
|
385 | 393 |
WHERE bbs_id = #{bbsId} |
386 | 394 |
</update> |
387 | 395 |
|
... | ... | @@ -481,6 +489,7 @@ |
481 | 489 |
, ans_stts = #{ansStts} |
482 | 490 |
, answer = #{answer} |
483 | 491 |
, ans_dt = now() |
492 |
+ , ans_prvt_pst_yn = #{prvtPstYn} |
|
484 | 493 |
WHERE bbs_id = #{bbsId}; |
485 | 494 |
</update> |
486 | 495 |
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?