
250320 하석형 게시판관련 throws Exception -> try catch 변경 작업 중
@db638a0a2f3f19cae5f40c736ff0737b4ea12b8a
--- src/main/java/com/takensoft/cms/bbs/dao/BbsCnDAO.java
+++ src/main/java/com/takensoft/cms/bbs/dao/BbsCnDAO.java
... | ... | @@ -9,108 +9,121 @@ |
9 | 9 |
import java.util.List; |
10 | 10 |
|
11 | 11 |
/** |
12 |
- * @author : 하석형 |
|
13 |
- * @since : 2024.05.09 |
|
12 |
+ * @author 하석형 |
|
13 |
+ * @since 2024.05.09 |
|
14 |
+ * @modification |
|
15 |
+ * since | author | description |
|
16 |
+ * 2024.05.09 | 하석형 | 최초 등록 |
|
17 |
+ * 2024.05.22 | 방선주 | updateVwCnt 추가 |
|
18 |
+ * 2024.05.23 | 방선주 | findPrevBbsCn, findNextBbsCn 추가 |
|
19 |
+ * 2024.05.28 | 박정하 | selectBbsCnListByNew 추가 |
|
20 |
+ * 2024.06.04 | 방선주 | saveAnswer 추가 |
|
21 |
+ * 2024.06.13 | 방선주 | findFiveNotice 추가 |
|
22 |
+ * 2025.03.20 | 하석형 | 코드 리펙토링 |
|
14 | 23 |
* |
15 |
- * 게시판 내용 관련 Mapper |
|
24 |
+ * 게시판 내용 관련 DAO |
|
16 | 25 |
*/ |
17 | 26 |
@Mapper("bbsCnDAO") |
18 | 27 |
public interface BbsCnDAO { |
28 |
+ |
|
19 | 29 |
/** |
20 |
- * @author 하석형 |
|
21 |
- * @since 2024.05.09 |
|
30 |
+ * @param bbsCnVO - 게시판 정보 |
|
31 |
+ * @return boolean - 게시판 아이디 중복 여부 |
|
32 |
+ * |
|
22 | 33 |
* 게시판 아이디 중복 검사 |
23 | 34 |
*/ |
24 |
- public boolean bbsCnIdCheck(BbsCnVO bbsCnVO) throws Exception; |
|
35 |
+ public boolean bbsCnIdCheck(BbsCnVO bbsCnVO); |
|
25 | 36 |
|
26 | 37 |
/** |
27 |
- * @author 하석형 |
|
28 |
- * @since 2024.05.09 |
|
38 |
+ * @param bbsCn - 게시판 정보 |
|
39 |
+ * @return int - 게시판 등록 결과 |
|
40 |
+ * |
|
29 | 41 |
* 게시판 내용 등록 |
30 | 42 |
*/ |
31 |
- public int save(BbsCnVO bbsCn) throws Exception; |
|
43 |
+ public int save(BbsCnVO bbsCn); |
|
32 | 44 |
|
33 | 45 |
/** |
34 |
- * @author 하석형 |
|
35 |
- * @since 2024.05.09 |
|
46 |
+ * @param pagination - 페이징 정보 |
|
47 |
+ * @return int - 게시판 내용 목록 조회 개수 |
|
48 |
+ * |
|
36 | 49 |
* 게시판 내용 목록 조회 개수 |
37 | 50 |
*/ |
38 |
- public int findAllCnt(Pagination pagination) throws Exception; |
|
51 |
+ public int findAllCnt(Pagination pagination); |
|
39 | 52 |
|
40 | 53 |
/** |
41 |
- * @author 하석형 |
|
42 |
- * @since 2024.05.09 |
|
54 |
+ * @param pagination - 페이징 정보 |
|
55 |
+ * @return List<BbsCnVO> - 게시판 내용 정보를 담고 있는 객체 목록 |
|
56 |
+ * |
|
43 | 57 |
* 게시판 내용 목록 조회 |
44 | 58 |
*/ |
45 |
- public List<BbsCnVO> findAll(Pagination pagination) throws Exception; |
|
59 |
+ public List<BbsCnVO> findAll(Pagination pagination); |
|
46 | 60 |
|
47 | 61 |
/** |
48 |
- * @author 하석형 |
|
49 |
- * @since 2024.05.09 |
|
62 |
+ * @param bbsCnId - 게시판 아이디 |
|
63 |
+ * @return BbsCnVO - 게시판 내용 정보를 담고 있는 객체 |
|
50 | 64 |
* |
51 | 65 |
* 게시판 내용 상세 조회 |
52 | 66 |
*/ |
53 | 67 |
public BbsCnVO findByBbsId(String bbsCnId); |
54 | 68 |
|
55 | 69 |
/** |
56 |
- * @author 하석형 |
|
57 |
- * @since 2024.05.09 |
|
70 |
+ * @param params - 게시판 정보 |
|
71 |
+ * @return int - 게시판 내용 수정 결과 |
|
58 | 72 |
* |
59 | 73 |
* 게시판 내용 수정 |
60 | 74 |
*/ |
61 | 75 |
public int update(HashMap<String, Object> params); |
62 | 76 |
|
63 | 77 |
/** |
64 |
- * @author 하석형 |
|
65 |
- * @since 2024.05.09 |
|
78 |
+ * @param bbsCnVO - 게시판 정보 |
|
79 |
+ * @return int - 게시판 내용 삭제 결과 |
|
66 | 80 |
* |
67 | 81 |
* 게시판 내용 삭제 |
68 | 82 |
*/ |
69 | 83 |
public int delete(BbsCnVO bbsCnVO); |
70 | 84 |
|
71 | 85 |
/** |
72 |
- * @author 방선주 |
|
73 |
- * @since 2024.05.22 |
|
86 |
+ * @param bbsId - 게시판 아이디 |
|
87 |
+ * @return int - 조회수 증가 결과 |
|
74 | 88 |
* |
75 |
- * 조회수 증가 처리 |
|
89 |
+ * 조회수 증가 |
|
76 | 90 |
*/ |
77 |
- public int updateVwCnt(String bbsId) throws Exception; |
|
91 |
+ public int updateVwCnt(String bbsId); |
|
78 | 92 |
|
79 | 93 |
/** |
80 |
- * @author 방선주 |
|
81 |
- * @since 2024.05.23 |
|
94 |
+ * @param bbsCnVO - 게시판 정보 |
|
95 |
+ * @return BbsCnVO - 게시판 내용 정보를 담고 있는 객체 |
|
82 | 96 |
* |
83 | 97 |
* 이전글 |
84 | 98 |
*/ |
85 | 99 |
public BbsCnVO findPrevBbsCn(BbsCnVO bbsCnVO); |
86 | 100 |
|
87 | 101 |
/** |
88 |
- * @author 방선주 |
|
89 |
- * @since 2024.05.23 |
|
102 |
+ * @param bbsCnVO - 게시판 정보 |
|
103 |
+ * @return BbsCnVO - 게시판 내용 정보를 담고 있는 객체 |
|
90 | 104 |
* |
91 | 105 |
* 다음글 |
92 | 106 |
*/ |
93 | 107 |
public BbsCnVO findNextBbsCn(BbsCnVO bbsCnVO); |
94 | 108 |
|
95 | 109 |
/** |
96 |
- * @author : 박정하 |
|
97 |
- * @since : 2024.05.28 |
|
110 |
+ * @return List<HashMap> - 게시판 내용 정보를 담고 있는 객체 목록 |
|
98 | 111 |
* |
99 |
- * 게시글 최신 목록 조회 (최신글 5건 출력) |
|
112 |
+ * 게시판 내용 최신 목록 조회 (최신글 5건 출력) |
|
100 | 113 |
*/ |
101 | 114 |
public List<HashMap> selectBbsCnListByNew(); |
102 | 115 |
|
103 | 116 |
/** |
104 |
- * @author : 방선주 |
|
105 |
- * @since : 2024.06.04 |
|
117 |
+ * @param bbsCnVO - 게시판 정보 |
|
118 |
+ * @return int - 답변 등록 결과 |
|
106 | 119 |
* |
107 | 120 |
* 질의형 게시판 답변 등록 |
108 | 121 |
*/ |
109 |
- public int saveAnswer(BbsCnVO bbsCnVO) throws Exception; |
|
122 |
+ public int saveAnswer(BbsCnVO bbsCnVO); |
|
110 | 123 |
|
111 | 124 |
/** |
112 |
- * @author : 방선주 |
|
113 |
- * @since : 2024.06.13 |
|
125 |
+ * @param bbsCn - 게시판 정보 |
|
126 |
+ * @return List<BbsCnVO> - 게시판 내용 정보를 담고 있는 객체 목록 |
|
114 | 127 |
* |
115 | 128 |
* 최근 공지 5개 조회 |
116 | 129 |
*/ |
--- src/main/java/com/takensoft/cms/bbs/dao/BbsMngDAO.java
+++ src/main/java/com/takensoft/cms/bbs/dao/BbsMngDAO.java
... | ... | @@ -56,7 +56,7 @@ |
56 | 56 |
* |
57 | 57 |
* 게시판 관리 상세 조회 |
58 | 58 |
*/ |
59 |
- public BbsMngVO findByBbsMngId(String bbsMngId) throws Exception; |
|
59 |
+ public BbsMngVO findByBbsMngId(String bbsMngId); |
|
60 | 60 |
|
61 | 61 |
/** |
62 | 62 |
* @author 하석형 |
--- src/main/java/com/takensoft/cms/bbs/dao/WordMngDAO.java
+++ src/main/java/com/takensoft/cms/bbs/dao/WordMngDAO.java
... | ... | @@ -22,5 +22,5 @@ |
22 | 22 |
|
23 | 23 |
public int deleteWords(int word) throws Exception; |
24 | 24 |
|
25 |
- public List<String> findWordList() throws Exception; |
|
25 |
+ public List<String> findWordList(); |
|
26 | 26 |
} |
--- src/main/java/com/takensoft/cms/bbs/service/BbsCnService.java
+++ src/main/java/com/takensoft/cms/bbs/service/BbsCnService.java
... | ... | @@ -21,28 +21,28 @@ |
21 | 21 |
* @since 2024.05.09 |
22 | 22 |
* 게시판 아이디 중복 검사 |
23 | 23 |
*/ |
24 |
- public boolean bbsCnIdCheck(BbsCnVO bbsCnVO) throws Exception; |
|
24 |
+ public boolean bbsCnIdCheck(BbsCnVO bbsCnVO); |
|
25 | 25 |
|
26 | 26 |
/** |
27 | 27 |
* @author 하석형 |
28 | 28 |
* @since 2024.05.09 |
29 | 29 |
* 게시판 내용 등록 |
30 | 30 |
*/ |
31 |
- public HashMap<String, Object> saveBbsCn(BbsCnVO bbsCn, List<MultipartFile> multipartFileList, List<MultipartFile> multipartImgList) throws Exception; |
|
31 |
+ public HashMap<String, Object> saveBbsCn(BbsCnVO bbsCn, List<MultipartFile> multipartFileList, List<MultipartFile> multipartImgList); |
|
32 | 32 |
|
33 | 33 |
/** |
34 | 34 |
* @author 하석형 |
35 | 35 |
* @since 2024.05.13 |
36 | 36 |
* 게시판 내용 목록 조회 개수 |
37 | 37 |
*/ |
38 |
- public int findAllCnt(Pagination pagination) throws Exception; |
|
38 |
+ public int findAllCnt(Pagination pagination); |
|
39 | 39 |
|
40 | 40 |
/** |
41 | 41 |
* @author 하석형 |
42 | 42 |
* @since 2024.05.09 |
43 | 43 |
* 게시판 내용 목록 조회 |
44 | 44 |
*/ |
45 |
- public Map<String, Object> findAllBbsCn(HashMap<String, String> params) throws Exception; |
|
45 |
+ public Map<String, Object> findAllBbsCn(HashMap<String, String> params); |
|
46 | 46 |
|
47 | 47 |
/** |
48 | 48 |
* @author 하석형 |
... | ... | @@ -50,7 +50,7 @@ |
50 | 50 |
* |
51 | 51 |
* 게시판 관리 상세 조회 |
52 | 52 |
*/ |
53 |
- public BbsCnVO findByBbsId(String bbsId) throws Exception; |
|
53 |
+ public BbsCnVO findByBbsId(String bbsId); |
|
54 | 54 |
|
55 | 55 |
/** |
56 | 56 |
* @author 하석형 |
... | ... | @@ -58,7 +58,7 @@ |
58 | 58 |
* |
59 | 59 |
* 게시판 관리 수정 |
60 | 60 |
*/ |
61 |
- public HashMap<String, Object> updateBbsCn(HashMap<String, Object> params, List<HashMap<String, Object>> deleteFileList, List<MultipartFile> multipartFileList, List<HashMap<String, Object>> deleteImgFileList, List<MultipartFile> multipartImgList) throws Exception; |
|
61 |
+ public HashMap<String, Object> updateBbsCn(HashMap<String, Object> params, List<HashMap<String, Object>> deleteFileList, List<MultipartFile> multipartFileList, List<HashMap<String, Object>> deleteImgFileList, List<MultipartFile> multipartImgList); |
|
62 | 62 |
|
63 | 63 |
/** |
64 | 64 |
* @author 하석형 |
... | ... | @@ -66,7 +66,7 @@ |
66 | 66 |
* |
67 | 67 |
* 게시판 관리 삭제 |
68 | 68 |
*/ |
69 |
- public int deleteBbsCn(BbsCnVO bbsCnVO) throws Exception; |
|
69 |
+ public int deleteBbsCn(BbsCnVO bbsCnVO); |
|
70 | 70 |
|
71 | 71 |
/** |
72 | 72 |
* @author 방선주 |
... | ... | @@ -74,7 +74,7 @@ |
74 | 74 |
* |
75 | 75 |
* 조회수 증가 |
76 | 76 |
*/ |
77 |
- public int updateVwCnt(HashMap<String, Object> params) throws Exception; |
|
77 |
+ public int updateVwCnt(HashMap<String, Object> params); |
|
78 | 78 |
|
79 | 79 |
/** |
80 | 80 |
* @author 방선주 |
... | ... | @@ -82,7 +82,7 @@ |
82 | 82 |
* |
83 | 83 |
* 이전글 조회 |
84 | 84 |
*/ |
85 |
- public BbsCnVO findPrevBbsCn(BbsCnVO bbsCnVO) throws Exception; |
|
85 |
+ public BbsCnVO findPrevBbsCn(BbsCnVO bbsCnVO); |
|
86 | 86 |
|
87 | 87 |
/** |
88 | 88 |
* @author 방선주 |
... | ... | @@ -90,14 +90,14 @@ |
90 | 90 |
* |
91 | 91 |
* 다음글 조회 |
92 | 92 |
*/ |
93 |
- public BbsCnVO findNextBbsCn(BbsCnVO bbsCnVO) throws Exception; |
|
93 |
+ public BbsCnVO findNextBbsCn(BbsCnVO bbsCnVO); |
|
94 | 94 |
/** |
95 | 95 |
* @author 방선주 |
96 | 96 |
* @since 2024.05.30 |
97 | 97 |
* |
98 | 98 |
* 첨부파일 이미지 경로 변경 |
99 | 99 |
*/ |
100 |
- public List<HashMap<String, Object>> fileListPathChange(String fileMngId) throws Exception; |
|
100 |
+ public List<HashMap<String, Object>> fileListPathChange(String fileMngId); |
|
101 | 101 |
|
102 | 102 |
/** |
103 | 103 |
* @author 방선주 |
... | ... | @@ -105,7 +105,7 @@ |
105 | 105 |
* |
106 | 106 |
* 질의형 답변 등록 |
107 | 107 |
*/ |
108 |
- public HashMap<String, Object> saveAnswer(BbsCnVO bbsCnVO) throws Exception; |
|
108 |
+ public HashMap<String, Object> saveAnswer(BbsCnVO bbsCnVO); |
|
109 | 109 |
|
110 | 110 |
/** |
111 | 111 |
* @author 방선주 |
... | ... | @@ -113,7 +113,7 @@ |
113 | 113 |
* |
114 | 114 |
* 질의형 답변 수정 |
115 | 115 |
*/ |
116 |
- public HashMap<String, Object> updateAnswer(BbsCnVO bbsCnVO) throws Exception; |
|
116 |
+ public HashMap<String, Object> updateAnswer(BbsCnVO bbsCnVO); |
|
117 | 117 |
|
118 | 118 |
/** |
119 | 119 |
* @author 방선주 |
... | ... | @@ -121,7 +121,7 @@ |
121 | 121 |
* |
122 | 122 |
* 질의형 답변 삭제 |
123 | 123 |
*/ |
124 |
- public int deleteAns(BbsCnVO bbsCnVO) throws Exception; |
|
124 |
+ public int deleteAns(BbsCnVO bbsCnVO); |
|
125 | 125 |
|
126 | 126 |
/** |
127 | 127 |
* @author 방선주 |
... | ... | @@ -129,5 +129,5 @@ |
129 | 129 |
* |
130 | 130 |
* 최신 공지 5개 |
131 | 131 |
*/ |
132 |
- public List<BbsCnVO> findFiveNotice(BbsCnVO bbsCn) throws Exception; |
|
132 |
+ public List<BbsCnVO> findFiveNotice(BbsCnVO bbsCn); |
|
133 | 133 |
}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/bbs/service/Impl/BbsCnServiceImpl.java
+++ src/main/java/com/takensoft/cms/bbs/service/Impl/BbsCnServiceImpl.java
... | ... | @@ -8,6 +8,7 @@ |
8 | 8 |
import com.takensoft.cms.bbs.vo.BbsMngVO; |
9 | 9 |
import com.takensoft.cms.bbs.vo.WordMngVO; |
10 | 10 |
import com.takensoft.common.Pagination; |
11 |
+import com.takensoft.common.exception.*; |
|
11 | 12 |
import com.takensoft.common.file.dao.FileDAO; |
12 | 13 |
import com.takensoft.common.file.service.FileMngService; |
13 | 14 |
import com.takensoft.common.file.vo.FileMngVO; |
... | ... | @@ -16,6 +17,7 @@ |
16 | 17 |
import lombok.RequiredArgsConstructor; |
17 | 18 |
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl; |
18 | 19 |
import org.springframework.beans.factory.annotation.Value; |
20 |
+import org.springframework.dao.DataAccessException; |
|
19 | 21 |
import org.springframework.stereotype.Service; |
20 | 22 |
import org.springframework.transaction.annotation.Transactional; |
21 | 23 |
import org.springframework.web.multipart.MultipartFile; |
... | ... | @@ -28,12 +30,21 @@ |
28 | 30 |
import java.util.Map; |
29 | 31 |
|
30 | 32 |
/** |
31 |
- * @author : 하석형 |
|
32 |
- * @since : 2024.05.09 |
|
33 |
+ * @author 하석형 |
|
34 |
+ * @since 2024.05.09 |
|
35 |
+ * @modification |
|
36 |
+ * since | author | description |
|
37 |
+ * 2024.05.09 | 하석형 | 최초 등록 |
|
38 |
+ * 2024.05.22 | 방선주 | updateVwCnt 추가 |
|
39 |
+ * 2024.05.23 | 방선주 | findPrevBbsCn, findNextBbsCn 추가 |
|
40 |
+ * 2024.05.28 | 박정하 | selectBbsCnListByNew 추가 |
|
41 |
+ * 2024.06.04 | 방선주 | saveAnswer 추가 |
|
42 |
+ * 2024.06.13 | 방선주 | findFiveNotice 추가 |
|
33 | 43 |
* |
34 |
- * 게시판 내용 관련 구현체 |
|
35 | 44 |
* EgovAbstractServiceImpl : 전자정부 상속 |
36 |
- * BbsCnService : 게시판 내용 인터페이스 상속 |
|
45 |
+ * BbsCnService : 게시판 내용 관련 인터페이스 상속 |
|
46 |
+ * |
|
47 |
+ * 게시판 내용 관련 인터페이스 구현체 |
|
37 | 48 |
*/ |
38 | 49 |
@Service("bbsCnService") |
39 | 50 |
@RequiredArgsConstructor |
... | ... | @@ -61,13 +72,28 @@ |
61 | 72 |
private String fileUploadPath; |
62 | 73 |
|
63 | 74 |
/** |
64 |
- * @author 하석형 |
|
65 |
- * @since 2024.05.09 |
|
75 |
+ * @param bbsCnVO - 게시판 정보 |
|
76 |
+ * @return boolean - 게시판 아이디 중복 여부 |
|
77 |
+ * @throws CustomDataDuplicationException - 게시판 아이디 중복 예외 발생 시 |
|
78 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
79 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
80 |
+ * |
|
66 | 81 |
* 게시판 아이디 중복 검사 |
67 | 82 |
*/ |
68 | 83 |
@Override |
69 |
- public boolean bbsCnIdCheck(BbsCnVO bbsCnVO) throws Exception { |
|
70 |
- return bbsCnDAO.bbsCnIdCheck(bbsCnVO); |
|
84 |
+ public boolean bbsCnIdCheck(BbsCnVO bbsCnVO) { |
|
85 |
+ try { |
|
86 |
+ boolean result = bbsCnDAO.bbsCnIdCheck(bbsCnVO); |
|
87 |
+ if(result) { |
|
88 |
+ throw new CustomDataDuplicationException("이미 존재하는 게시판 아이디입니다."); |
|
89 |
+ } |
|
90 |
+ |
|
91 |
+ return result; |
|
92 |
+ } catch (DataAccessException dae) { |
|
93 |
+ throw dae; |
|
94 |
+ } catch (Exception e) { |
|
95 |
+ throw e; |
|
96 |
+ } |
|
71 | 97 |
} |
72 | 98 |
|
73 | 99 |
/** |
... | ... | @@ -77,7 +103,7 @@ |
77 | 103 |
*/ |
78 | 104 |
@Transactional(rollbackFor = Exception.class) |
79 | 105 |
@Override |
80 |
- public HashMap<String, Object> saveBbsCn(BbsCnVO bbsCn, List<MultipartFile> multipartFileList, List<MultipartFile> multipartImgList) throws Exception { |
|
106 |
+ public HashMap<String, Object> saveBbsCn(BbsCnVO bbsCn, List<MultipartFile> multipartFileList, List<MultipartFile> multipartImgList) { |
|
81 | 107 |
HashMap<String, Object> result = new HashMap<>(); |
82 | 108 |
List<String> wordList = wordMngDAO.findWordList(); |
83 | 109 |
|
... | ... | @@ -121,35 +147,25 @@ |
121 | 147 |
|
122 | 148 |
// 첨부파일 유무 |
123 | 149 |
if (multipartFileList != null && !multipartFileList.isEmpty()) { |
124 |
- try { |
|
125 |
- FileMngVO fileMngVO = new FileMngVO(); |
|
150 |
+ FileMngVO fileMngVO = new FileMngVO(); |
|
126 | 151 |
|
127 |
- // 파일매니저 등록 |
|
128 |
- HashMap<String, Object> fileMng = fileMngService.fileMngInsert(fileMngVO, multipartFileList); |
|
129 |
- result.put("multipartFileMngResult", fileMng); |
|
152 |
+ // 파일매니저 등록 |
|
153 |
+ HashMap<String, Object> fileMng = fileMngService.fileMngInsert(fileMngVO, multipartFileList); |
|
154 |
+ result.put("multipartFileMngResult", fileMng); |
|
130 | 155 |
|
131 |
- // 파일매니저 아이디 삽입 |
|
132 |
- bbsCn.setAtchFileMngId(fileMng.get("fileMngId").toString()); |
|
133 |
- } catch (IOException e) { |
|
134 |
- e.printStackTrace(); |
|
135 |
- return result; |
|
136 |
- } |
|
156 |
+ // 파일매니저 아이디 삽입 |
|
157 |
+ bbsCn.setAtchFileMngId(fileMng.get("fileMngId").toString()); |
|
137 | 158 |
} |
138 | 159 |
// 이미지파일 유무 |
139 | 160 |
if (multipartImgList != null && !multipartImgList.isEmpty()) { |
140 |
- try { |
|
141 |
- FileMngVO fileMngVO = new FileMngVO(); |
|
161 |
+ FileMngVO fileMngVO = new FileMngVO(); |
|
142 | 162 |
|
143 |
- // 파일매니저 등록 |
|
144 |
- HashMap<String, Object> imgFileMng = fileMngService.fileMngInsert(fileMngVO, multipartImgList); |
|
145 |
- result.put("multipartFileMngResult", imgFileMng); |
|
163 |
+ // 파일매니저 등록 |
|
164 |
+ HashMap<String, Object> imgFileMng = fileMngService.fileMngInsert(fileMngVO, multipartImgList); |
|
165 |
+ result.put("multipartFileMngResult", imgFileMng); |
|
146 | 166 |
|
147 |
- // 이미지 파일매니저 아이디 삽입 |
|
148 |
- bbsCn.setImgFileMngId(imgFileMng.get("fileMngId").toString()); |
|
149 |
- } catch (IOException e) { |
|
150 |
- e.printStackTrace(); |
|
151 |
- return result; |
|
152 |
- } |
|
167 |
+ // 이미지 파일매니저 아이디 삽입 |
|
168 |
+ bbsCn.setImgFileMngId(imgFileMng.get("fileMngId").toString()); |
|
153 | 169 |
} |
154 | 170 |
|
155 | 171 |
// 질의형인 경우 \n을 <br>로 변경 |
... | ... | @@ -167,12 +183,21 @@ |
167 | 183 |
} |
168 | 184 |
|
169 | 185 |
/** |
170 |
- * @author 하석형 |
|
171 |
- * @since 2024.05.13 |
|
186 |
+ * @param pagination - 페이징 정보 |
|
187 |
+ * @return int - 게시판 내용 목록 조회 개수 |
|
188 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
189 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
190 |
+ * |
|
172 | 191 |
* 게시판 내용 목록 조회 개수 |
173 | 192 |
*/ |
174 |
- public int findAllCnt(Pagination pagination) throws Exception{ |
|
175 |
- return bbsCnDAO.findAllCnt(pagination); |
|
193 |
+ public int findAllCnt(Pagination pagination){ |
|
194 |
+ try { |
|
195 |
+ return bbsCnDAO.findAllCnt(pagination); |
|
196 |
+ } catch (DataAccessException dae) { |
|
197 |
+ throw dae; |
|
198 |
+ } catch (Exception e) { |
|
199 |
+ throw e; |
|
200 |
+ } |
|
176 | 201 |
} |
177 | 202 |
|
178 | 203 |
/** |
... | ... | @@ -181,7 +206,7 @@ |
181 | 206 |
* 게시판 내용 목록 조회 |
182 | 207 |
*/ |
183 | 208 |
@Override |
184 |
- public Map<String, Object> findAllBbsCn(HashMap<String, String> params) throws Exception { |
|
209 |
+ public Map<String, Object> findAllBbsCn(HashMap<String, String> params) { |
|
185 | 210 |
Map<String, Object> result = new HashMap<>(); |
186 | 211 |
|
187 | 212 |
// 게시판 관리 정보 |
... | ... | @@ -225,32 +250,39 @@ |
225 | 250 |
return frontUrl + ":" + serverPort + fileUploadPath + relativePath; |
226 | 251 |
} |
227 | 252 |
|
228 |
- |
|
229 | 253 |
/** |
230 |
- * @author 하석형 |
|
231 |
- * @since 2024.05.09 |
|
254 |
+ * @param bbsId - 게시판 아이디 |
|
255 |
+ * @return BbsCnVO - 게시판 내용 정보를 담고 있는 객체 |
|
256 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
257 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
232 | 258 |
* |
233 | 259 |
* 게시판 내용 상세 조회 |
234 | 260 |
*/ |
235 | 261 |
@Override |
236 |
- public BbsCnVO findByBbsId(String bbsId) throws Exception { |
|
237 |
- BbsCnVO result = new BbsCnVO(); |
|
238 |
- if(bbsId != null && !bbsId.isEmpty()) { |
|
239 |
- result = bbsCnDAO.findByBbsId(bbsId); |
|
262 |
+ public BbsCnVO findByBbsId(String bbsId) { |
|
263 |
+ try { |
|
264 |
+ BbsCnVO result = new BbsCnVO(); |
|
265 |
+ if (bbsId != null && !bbsId.isEmpty()) { |
|
266 |
+ result = bbsCnDAO.findByBbsId(bbsId); |
|
240 | 267 |
|
241 |
- if(result.getBbsNm() == null){ |
|
242 |
- String text = result.getBbsCn().replaceAll("<br/>", "\n"); |
|
243 |
- result.setBbsCn(text); |
|
244 |
- if(result.getAnsCn() != null){ |
|
245 |
- String ansText = result.getAnsCn().replaceAll("<br/>", "\n"); |
|
246 |
- result.setAnsCn(ansText); |
|
268 |
+ if (result.getBbsNm() == null) { |
|
269 |
+ String text = result.getBbsCn().replaceAll("<br/>", "\n"); |
|
270 |
+ result.setBbsCn(text); |
|
271 |
+ if (result.getAnsCn() != null) { |
|
272 |
+ String ansText = result.getAnsCn().replaceAll("<br/>", "\n"); |
|
273 |
+ result.setAnsCn(ansText); |
|
274 |
+ } |
|
247 | 275 |
} |
248 |
- } |
|
249 | 276 |
|
250 |
- } else { |
|
251 |
- result.setUseYn("Y"); |
|
277 |
+ } else { |
|
278 |
+ result.setUseYn("Y"); |
|
279 |
+ } |
|
280 |
+ return result; |
|
281 |
+ } catch (DataAccessException dae) { |
|
282 |
+ throw dae; |
|
283 |
+ } catch (Exception e) { |
|
284 |
+ throw e; |
|
252 | 285 |
} |
253 |
- return result; |
|
254 | 286 |
} |
255 | 287 |
|
256 | 288 |
/** |
... | ... | @@ -261,7 +293,7 @@ |
261 | 293 |
*/ |
262 | 294 |
@Transactional(rollbackFor = Exception.class) |
263 | 295 |
@Override |
264 |
- public HashMap<String, Object> updateBbsCn(HashMap<String, Object> params, List<HashMap<String, Object>> deleteFileList, List<MultipartFile> multipartFileList, List<HashMap<String, Object>> deleteImgFileList, List<MultipartFile> multipartImgList) throws Exception { |
|
296 |
+ public HashMap<String, Object> updateBbsCn(HashMap<String, Object> params, List<HashMap<String, Object>> deleteFileList, List<MultipartFile> multipartFileList, List<HashMap<String, Object>> deleteImgFileList, List<MultipartFile> multipartImgList) { |
|
265 | 297 |
HashMap<String, Object> result = new HashMap<>(); |
266 | 298 |
int intResult= 0; |
267 | 299 |
|
... | ... | @@ -303,52 +335,28 @@ |
303 | 335 |
FileMngVO fileMngVO = new FileMngVO(); |
304 | 336 |
if (params.get("atchFileMngId") != null) { |
305 | 337 |
// 파일매니저 수정 |
306 |
- try { |
|
307 |
- String fileMngId = params.get("atchFileMngId").toString(); |
|
308 |
- fileMngVO.setFileMngId(fileMngId); |
|
309 |
- intResult += fileMngService.fileMngUpadate(fileMngVO, deleteFileList, multipartFileList); |
|
310 |
- } catch (IOException e) { |
|
311 |
- e.printStackTrace(); |
|
312 |
- result.put("result", 0); |
|
313 |
- return result; |
|
314 |
- } |
|
338 |
+ String fileMngId = params.get("atchFileMngId").toString(); |
|
339 |
+ fileMngVO.setFileMngId(fileMngId); |
|
340 |
+ intResult += fileMngService.fileMngUpadate(fileMngVO, deleteFileList, multipartFileList); |
|
315 | 341 |
} else if (multipartFileList != null && !multipartFileList.isEmpty()){ |
316 | 342 |
// 파일매니저 등록 |
317 |
- try { |
|
318 |
- HashMap<String, Object> fileMng = fileMngService.fileMngInsert(fileMngVO, multipartFileList); |
|
319 |
- intResult += (int)fileMng.get("fileMngResult"); |
|
320 |
- params.put("atchFileMngId", fileMng.get("fileMngId").toString()); |
|
321 |
- } catch (IOException e) { |
|
322 |
- e.printStackTrace(); |
|
323 |
- result.put("result", 0); |
|
324 |
- return result; |
|
325 |
- } |
|
343 |
+ HashMap<String, Object> fileMng = fileMngService.fileMngInsert(fileMngVO, multipartFileList); |
|
344 |
+ intResult += (int)fileMng.get("fileMngResult"); |
|
345 |
+ params.put("atchFileMngId", fileMng.get("fileMngId").toString()); |
|
326 | 346 |
} |
327 | 347 |
|
328 | 348 |
// 이미지 파일 업로드 |
329 | 349 |
FileMngVO fileImgMngVO = new FileMngVO(); |
330 | 350 |
if (params.get("imgFileMngId") != null) { |
331 | 351 |
// 파일매니저 수정 |
332 |
- try { |
|
333 |
- String imgFileMng = params.get("imgFileMngId").toString(); |
|
334 |
- fileImgMngVO.setFileMngId(imgFileMng); |
|
335 |
- intResult += fileMngService.fileMngUpadate(fileImgMngVO, deleteImgFileList, multipartImgList); |
|
336 |
- } catch (IOException e) { |
|
337 |
- e.printStackTrace(); |
|
338 |
- result.put("result", 0); |
|
339 |
- return result; |
|
340 |
- } |
|
352 |
+ String imgFileMng = params.get("imgFileMngId").toString(); |
|
353 |
+ fileImgMngVO.setFileMngId(imgFileMng); |
|
354 |
+ intResult += fileMngService.fileMngUpadate(fileImgMngVO, deleteImgFileList, multipartImgList); |
|
341 | 355 |
} else if (multipartImgList != null && !multipartImgList.isEmpty()){ |
342 | 356 |
// 파일매니저 등록 |
343 |
- try { |
|
344 |
- HashMap<String, Object> imgFileMng = fileMngService.fileMngInsert(fileImgMngVO, multipartImgList); |
|
345 |
- intResult += (int)imgFileMng.get("fileMngResult"); |
|
346 |
- params.put("imgFileMngId", imgFileMng.get("fileMngId").toString()); |
|
347 |
- } catch (IOException e) { |
|
348 |
- e.printStackTrace(); |
|
349 |
- result.put("result", 0); |
|
350 |
- return result; |
|
351 |
- } |
|
357 |
+ HashMap<String, Object> imgFileMng = fileMngService.fileMngInsert(fileImgMngVO, multipartImgList); |
|
358 |
+ intResult += (int)imgFileMng.get("fileMngResult"); |
|
359 |
+ params.put("imgFileMngId", imgFileMng.get("fileMngId").toString()); |
|
352 | 360 |
} |
353 | 361 |
|
354 | 362 |
// 질의형인 경우 \n을 <br>로 변경 |
... | ... | @@ -365,18 +373,32 @@ |
365 | 373 |
} |
366 | 374 |
|
367 | 375 |
/** |
368 |
- * @author 하석형 |
|
369 |
- * @since 2024.05.09 |
|
376 |
+ * @param bbsCnVO - 게시판 정보 |
|
377 |
+ * @return int - 게시판 내용 삭제 결과 |
|
378 |
+ * @throws CustomDeleteFailException - 게시판 내용 삭제 예외 발생 시 |
|
379 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
380 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
370 | 381 |
* |
371 | 382 |
* 게시판 내용 삭제 |
372 | 383 |
*/ |
373 | 384 |
@Override |
374 |
- public int deleteBbsCn(BbsCnVO bbsCnVO) throws Exception { |
|
375 |
- // 등록된 토큰에서 사용자 정보 조회 |
|
376 |
- String writer = jwtUtil.getWriter(); |
|
377 |
- bbsCnVO.setMdfr(writer); |
|
385 |
+ public int deleteBbsCn(BbsCnVO bbsCnVO) { |
|
386 |
+ try { |
|
387 |
+ // 등록된 토큰에서 사용자 정보 조회 |
|
388 |
+ String writer = jwtUtil.getWriter(); |
|
389 |
+ bbsCnVO.setMdfr(writer); |
|
378 | 390 |
|
379 |
- return bbsCnDAO.delete(bbsCnVO); |
|
391 |
+ int result = bbsCnDAO.delete(bbsCnVO); |
|
392 |
+ if (result == 0) { |
|
393 |
+ throw new CustomDeleteFailException("게시판 내용 삭제에 실패했습니다."); |
|
394 |
+ } |
|
395 |
+ |
|
396 |
+ return result; |
|
397 |
+ } catch (DataAccessException dae) { |
|
398 |
+ throw dae; |
|
399 |
+ } catch (Exception e) { |
|
400 |
+ throw e; |
|
401 |
+ } |
|
380 | 402 |
} |
381 | 403 |
/** |
382 | 404 |
* @author 방선주 |
... | ... | @@ -397,43 +419,68 @@ |
397 | 419 |
} |
398 | 420 |
|
399 | 421 |
/** |
400 |
- * @author 방선주 |
|
401 |
- * @since 2024.05.22 |
|
422 |
+ * @param params - 게시판 정보 |
|
423 |
+ * @return int - 조회수 증가 결과 |
|
424 |
+ * @throws CustomUpdateFailException - 조회수 증가 예외 발생 시 |
|
425 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
426 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
402 | 427 |
* |
403 | 428 |
* 조회수 증가 처리 |
404 | 429 |
*/ |
405 | 430 |
@Override |
406 |
- public int updateVwCnt(HashMap<String, Object> params) throws Exception { |
|
407 |
- return bbsCnDAO.updateVwCnt(params.get("bbsId").toString()); |
|
431 |
+ public int updateVwCnt(HashMap<String, Object> params) { |
|
432 |
+ try { |
|
433 |
+ int result = bbsCnDAO.updateVwCnt(params.get("bbsId").toString()); |
|
434 |
+ if (result == 0) { |
|
435 |
+ throw new CustomUpdateFailException("조회수 증가에 실패했습니다."); |
|
436 |
+ } |
|
437 |
+ |
|
438 |
+ return result; |
|
439 |
+ } catch (DataAccessException dae) { |
|
440 |
+ throw dae; |
|
441 |
+ } catch (Exception e) { |
|
442 |
+ throw e; |
|
443 |
+ } |
|
408 | 444 |
} |
409 | 445 |
|
410 | 446 |
/** |
411 |
- * @author 방선주 |
|
412 |
- * @since 2024.05.23 |
|
447 |
+ * @param bbsCnVO - 게시판 정보 |
|
448 |
+ * @return BbsCnVO - 게시판 내용 정보를 담고 있는 객체 |
|
449 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
450 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
413 | 451 |
* |
414 |
- * 이전글 다음글 조회 |
|
415 |
- * |
|
452 |
+ * 이전글 조회 |
|
416 | 453 |
*/ |
417 | 454 |
@Override |
418 |
- public BbsCnVO findPrevBbsCn(BbsCnVO bbsCnVO) throws Exception { |
|
419 |
- Map<String, Object> result = new HashMap<>(); |
|
420 |
- |
|
421 |
- BbsCnVO prevBbsCn = bbsCnDAO.findPrevBbsCn(bbsCnVO); |
|
422 |
- return prevBbsCn; |
|
455 |
+ public BbsCnVO findPrevBbsCn(BbsCnVO bbsCnVO) { |
|
456 |
+ try { |
|
457 |
+ BbsCnVO prevBbsCn = bbsCnDAO.findPrevBbsCn(bbsCnVO); |
|
458 |
+ return prevBbsCn; |
|
459 |
+ } catch (DataAccessException dae) { |
|
460 |
+ throw dae; |
|
461 |
+ } catch (Exception e) { |
|
462 |
+ throw e; |
|
463 |
+ } |
|
423 | 464 |
} |
465 |
+ |
|
424 | 466 |
/** |
425 |
- * @author 방선주 |
|
426 |
- * @since 2024.05.23 |
|
467 |
+ * @param bbsCnVO - 게시판 정보 |
|
468 |
+ * @return BbsCnVO - 게시판 내용 정보를 담고 있는 객체 |
|
469 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
470 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
427 | 471 |
* |
428 |
- * 이전글 다음글 조회 |
|
429 |
- * |
|
472 |
+ * 다음글 조회 |
|
430 | 473 |
*/ |
431 | 474 |
@Override |
432 |
- public BbsCnVO findNextBbsCn(BbsCnVO bbsCnVO) throws Exception { |
|
433 |
- Map<String, Object> result = new HashMap<>(); |
|
434 |
- |
|
435 |
- BbsCnVO NextBbsCn = bbsCnDAO.findNextBbsCn(bbsCnVO); |
|
436 |
- return NextBbsCn; |
|
475 |
+ public BbsCnVO findNextBbsCn(BbsCnVO bbsCnVO) { |
|
476 |
+ try { |
|
477 |
+ BbsCnVO NextBbsCn = bbsCnDAO.findNextBbsCn(bbsCnVO); |
|
478 |
+ return NextBbsCn; |
|
479 |
+ } catch (DataAccessException dae) { |
|
480 |
+ throw dae; |
|
481 |
+ } catch (Exception e) { |
|
482 |
+ throw e; |
|
483 |
+ } |
|
437 | 484 |
} |
438 | 485 |
|
439 | 486 |
/** |
... | ... | @@ -443,7 +490,7 @@ |
443 | 490 |
* @throws Exception |
444 | 491 |
*/ |
445 | 492 |
@Override |
446 |
- public List<HashMap<String, Object>> fileListPathChange(String fileMngId) throws Exception { |
|
493 |
+ public List<HashMap<String, Object>> fileListPathChange(String fileMngId) { |
|
447 | 494 |
|
448 | 495 |
List<HashMap<String, Object>> fileList = fileDAO.fileSelectList(fileMngId); |
449 | 496 |
|
... | ... | @@ -461,7 +508,7 @@ |
461 | 508 |
* @throws Exception |
462 | 509 |
*/ |
463 | 510 |
@Override |
464 |
- public HashMap<String, Object> saveAnswer(BbsCnVO bbsCnVO) throws Exception { |
|
511 |
+ public HashMap<String, Object> saveAnswer(BbsCnVO bbsCnVO) { |
|
465 | 512 |
HashMap<String, Object> result = new HashMap<>(); |
466 | 513 |
// 등록된 토큰에서 사용자 정보 조회 |
467 | 514 |
String writer = jwtUtil.getWriter(); |
... | ... | @@ -497,7 +544,7 @@ |
497 | 544 |
* @throws Exception |
498 | 545 |
*/ |
499 | 546 |
@Override |
500 |
- public HashMap<String, Object> updateAnswer(BbsCnVO bbsCnVO) throws Exception { |
|
547 |
+ public HashMap<String, Object> updateAnswer(BbsCnVO bbsCnVO) { |
|
501 | 548 |
HashMap<String, Object> result = new HashMap<>(); |
502 | 549 |
|
503 | 550 |
// 등록된 토큰에서 사용자 정보 조회 |
... | ... | @@ -525,32 +572,58 @@ |
525 | 572 |
} |
526 | 573 |
|
527 | 574 |
/** |
575 |
+ * @param bbsCnVO - 게시판 정보 |
|
576 |
+ * @return int - 답변 삭제 결과 |
|
577 |
+ * @throws CustomNotFoundException - 사용자 정보 조회 예외 발생 시 |
|
578 |
+ * @throws CustomDeleteFailException - 답변 삭제 예외 발생 시 |
|
579 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
580 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
581 |
+ * |
|
528 | 582 |
* 질의형 게시판 답변 삭제 |
529 |
- * @param bbsCnVO |
|
530 |
- * @return |
|
531 |
- * @throws Exception |
|
532 | 583 |
*/ |
533 | 584 |
@Override |
534 |
- public int deleteAns(BbsCnVO bbsCnVO) throws Exception { |
|
535 |
- // 등록된 토큰에서 사용자 정보 조회 |
|
536 |
- String writer = jwtUtil.getWriter(); |
|
537 |
- bbsCnVO.setAnswer(writer); |
|
585 |
+ public int deleteAns(BbsCnVO bbsCnVO) { |
|
586 |
+ try { |
|
587 |
+ // 등록된 토큰에서 사용자 정보 조회 |
|
588 |
+ String writer = jwtUtil.getWriter(); |
|
589 |
+ if(writer == null || writer.isEmpty()){ |
|
590 |
+ throw new CustomNotFoundException("사용자 정보 조회에 실패했습니다."); |
|
591 |
+ } |
|
592 |
+ bbsCnVO.setAnswer(writer); |
|
538 | 593 |
|
539 |
- bbsCnVO.setAnsCn(null); |
|
540 |
- bbsCnVO.setAnsStts("N"); |
|
594 |
+ bbsCnVO.setAnsCn(null); |
|
595 |
+ bbsCnVO.setAnsStts("N"); |
|
541 | 596 |
|
542 |
- return bbsCnDAO.saveAnswer(bbsCnVO); |
|
597 |
+ int result = bbsCnDAO.saveAnswer(bbsCnVO); |
|
598 |
+ if(result == 0){ |
|
599 |
+ throw new CustomDeleteFailException("답변 삭제에 실패했습니다."); |
|
600 |
+ } |
|
601 |
+ |
|
602 |
+ return result; |
|
603 |
+ } catch (DataAccessException dae) { |
|
604 |
+ throw dae; |
|
605 |
+ } catch (Exception e) { |
|
606 |
+ throw e; |
|
607 |
+ } |
|
543 | 608 |
} |
544 | 609 |
|
545 | 610 |
/** |
611 |
+ * @param bbsCn - 게시판 정보 |
|
612 |
+ * @return List<BbsCnVO> - 게시판 내용 정보를 담고 있는 객체 목록 |
|
613 |
+ * @throws DataAccessException - db 관련 예외 발생 시 |
|
614 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
615 |
+ * |
|
546 | 616 |
* 최근 공지사항 5개 가져오기 |
547 |
- * @param |
|
548 |
- * @return |
|
549 |
- * @throws Exception |
|
550 | 617 |
*/ |
551 | 618 |
@Override |
552 |
- public List<BbsCnVO> findFiveNotice(BbsCnVO bbsCn) throws Exception{ |
|
553 |
- return bbsCnDAO.findFiveNotice(bbsCn); |
|
619 |
+ public List<BbsCnVO> findFiveNotice(BbsCnVO bbsCn){ |
|
620 |
+ try { |
|
621 |
+ return bbsCnDAO.findFiveNotice(bbsCn); |
|
622 |
+ } catch (DataAccessException dae) { |
|
623 |
+ throw dae; |
|
624 |
+ } catch (Exception e) { |
|
625 |
+ throw e; |
|
626 |
+ } |
|
554 | 627 |
} |
555 | 628 |
|
556 | 629 |
|
--- src/main/java/com/takensoft/cms/bbs/vo/BbsCnVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/BbsCnVO.java
... | ... | @@ -6,133 +6,47 @@ |
6 | 6 |
/** |
7 | 7 |
* @author : 하석형 |
8 | 8 |
* @since : 2024.05.09 |
9 |
+ * @modification |
|
10 |
+ * since | author | description |
|
11 |
+ * 2024.05.09 | 하석형 | 최초 등록 |
|
12 |
+ * 2025.03.20 | 하석형 | 코드 리펙토링 |
|
9 | 13 |
* |
10 |
- * 게시판 관리 관련 VO |
|
14 |
+ * 게시판 내용 관련 VO |
|
11 | 15 |
*/ |
12 | 16 |
@Setter |
13 | 17 |
@Getter |
14 | 18 |
@AllArgsConstructor |
15 | 19 |
public class BbsCnVO { |
16 |
- /** |
|
17 |
- * 게시판 아이디 |
|
18 |
- */ |
|
19 |
- private String bbsId; |
|
20 |
- /** |
|
21 |
- * 게시판 관리 아이디 |
|
22 |
- */ |
|
23 |
- private String bbsMngId; |
|
24 |
- /** |
|
25 |
- * 게시판 제목 |
|
26 |
- */ |
|
27 |
- private String bbsNm; |
|
28 |
- /** |
|
29 |
- * 게시판 내용 |
|
30 |
- */ |
|
31 |
- private String bbsCn; |
|
32 |
- /** |
|
33 |
- * 조회수 |
|
34 |
- */ |
|
35 |
- private int inqCnt; |
|
36 |
- /** |
|
37 |
- * 첨부파일 관리 아이디 |
|
38 |
- */ |
|
39 |
- private String atchFileMngId; |
|
40 |
- /** |
|
41 |
- * 이미지파일 관리 아이디 [ 갤러리형 / 영상형 전용 ] |
|
42 |
- */ |
|
43 |
- private String imgFileMngId; |
|
44 |
- /** |
|
45 |
- * 썸네일 이미지 경로 |
|
46 |
- */ |
|
47 |
- private String absltPath; |
|
48 |
- /** |
|
49 |
- * 공지글 여부 |
|
50 |
- * Y : 사용, N : 미사용 |
|
51 |
- */ |
|
52 |
- private String ntcPstYn; |
|
53 |
- /** |
|
54 |
- * 공지글 시작일 |
|
55 |
- */ |
|
56 |
- private String ntcBgngDt; |
|
57 |
- /** |
|
58 |
- * 공지글 종료일 |
|
59 |
- */ |
|
60 |
- private String ntcEndDt; |
|
61 |
- /** |
|
62 |
- * 비밀글 여부 |
|
63 |
- * Y : 사용, N : 미사용 |
|
64 |
- */ |
|
65 |
- private String prvtPstYn; |
|
66 |
- /** |
|
67 |
- * 답변 게시판 아이디 |
|
68 |
- */ |
|
69 |
- private String ansBbsId; |
|
70 |
- /** |
|
71 |
- * 답변 내용 |
|
72 |
- */ |
|
73 |
- private String ansCn; |
|
74 |
- /** |
|
75 |
- * 답변 깊이(레벨) |
|
76 |
- */ |
|
77 |
- private int ansGrd; |
|
78 |
- /** |
|
79 |
- * 답변 순서 |
|
80 |
- */ |
|
81 |
- private int ansSn; |
|
82 |
- /** |
|
83 |
- * 답변 상태 |
|
84 |
- * Y : 사용, N : 미사용 |
|
85 |
- */ |
|
86 |
- private String ansStts; |
|
87 |
- /** |
|
88 |
- * 영상 주소 |
|
89 |
- */ |
|
90 |
- private String vdoUrl; |
|
91 |
- /** |
|
92 |
- * 사용여부 |
|
93 |
- * Y : 사용, N : 미사용 |
|
94 |
- */ |
|
95 |
- private String useYn; |
|
96 |
- /** |
|
97 |
- * 등록자 |
|
98 |
- */ |
|
99 |
- private String rgtr; |
|
100 |
- /** |
|
101 |
- * 등록일 |
|
102 |
- */ |
|
103 |
- private String regDt; |
|
104 |
- /** |
|
105 |
- * 등록자 명 |
|
106 |
- */ |
|
107 |
- private String rgtrNm; // 화면 표출 용도 |
|
108 |
- /** |
|
109 |
- * 수정자 |
|
110 |
- */ |
|
111 |
- private String mdfr; |
|
112 |
- /** |
|
113 |
- * 수정일 |
|
114 |
- */ |
|
115 |
- private String mdfcnDt; |
|
116 |
- /** |
|
117 |
- * 수정자 명 |
|
118 |
- */ |
|
119 |
- private String mdfrNm; // 화면 표출 용도 |
|
120 |
- /** |
|
121 |
- * 현재 공지 여부 |
|
122 |
- */ |
|
123 |
- private String nowNtcYn; |
|
124 |
- /** |
|
125 |
- * 답변자 |
|
126 |
- */ |
|
127 |
- private String answer; |
|
128 |
- /** |
|
129 |
- * 답변자명 |
|
130 |
- */ |
|
131 |
- private String answerNm; |
|
132 |
- /** |
|
133 |
- * 답변일자 |
|
134 |
- */ |
|
135 |
- private String ansDt; |
|
20 |
+ |
|
21 |
+ private String bbsId; // 게시판 아이디 |
|
22 |
+ private String bbsMngId; // 게시판 관리 아이디 |
|
23 |
+ private String bbsNm; // 게시판 제목 |
|
24 |
+ private String bbsCn; // 게시판 내용 |
|
25 |
+ private int inqCnt; // 조회수 |
|
26 |
+ private String atchFileMngId; // 첨부파일 관리 아이디 |
|
27 |
+ private String imgFileMngId; // 이미지파일 관리 아이디 [ 갤러리형 / 영상형 전용 ] |
|
28 |
+ private String absltPath; // 썸네일 이미지 경로 |
|
29 |
+ private String ntcPstYn; // 공지글 여부 ( Y : 사용, N : 미사용 ) |
|
30 |
+ private String ntcBgngDt; // 공지글 시작일 |
|
31 |
+ private String ntcEndDt; // 공지글 종료일 |
|
32 |
+ private String prvtPstYn; // 비밀글 여부 ( Y : 사용, N : 미사용 ) |
|
33 |
+ private String ansBbsId; // 답변 게시판 아이디 |
|
34 |
+ private String ansCn; // 답변 내용 |
|
35 |
+ private int ansGrd; // 답변 깊이(레벨) |
|
36 |
+ private int ansSn; // 답변 순서 |
|
37 |
+ private String ansStts; // 답변 상태 ( Y : 사용, N : 미사용 ) |
|
38 |
+ private String vdoUrl; // 영상 주소 |
|
39 |
+ private String useYn; // 사용여부 ( Y : 사용, N : 미사용 ) |
|
40 |
+ private String rgtr; // 등록자 |
|
41 |
+ private String regDt; // 등록일 |
|
42 |
+ private String rgtrNm; // 등록자 명 (화면 표출 용도) |
|
43 |
+ private String mdfr; // 수정자 |
|
44 |
+ private String mdfcnDt; // 수정일 |
|
45 |
+ private String mdfrNm; // 수정자 명 (화면 표출 용도) |
|
46 |
+ private String nowNtcYn; // 현재 공지 여부 |
|
47 |
+ private String answer; // 답변자 |
|
48 |
+ private String answerNm; // 답변자명 |
|
49 |
+ private String ansDt; // 답변일자 |
|
136 | 50 |
|
137 | 51 |
public BbsCnVO() { |
138 | 52 |
this.bbsCn = ""; |
--- src/main/java/com/takensoft/cms/bbs/vo/BbsMngVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/BbsMngVO.java
... | ... | @@ -8,105 +8,38 @@ |
8 | 8 |
/** |
9 | 9 |
* @author : 박정하 |
10 | 10 |
* @since : 2024.05.08 |
11 |
+ * @modification |
|
12 |
+ * since | author | description |
|
13 |
+ * 2024.05.08 | 박정하 | 최초 등록 |
|
14 |
+ * 2025.03.20 | 하석형 | 코드 리펙토링 |
|
11 | 15 |
* |
12 | 16 |
* 게시판 관리 관련 VO |
13 | 17 |
*/ |
14 | 18 |
@Data |
15 | 19 |
public class BbsMngVO { |
16 |
- /** |
|
17 |
- * 게시판관리아이디 |
|
18 |
- */ |
|
19 |
- private String bbsMngId; |
|
20 |
- /** |
|
21 |
- * 게시판유형아이디 |
|
22 |
- */ |
|
23 |
- private String bbsTypeId; |
|
24 |
- /** |
|
25 |
- * 게시판유형 |
|
26 |
- */ |
|
27 |
- private BbsTypeMngVO bbsType; // 사용 안함 |
|
28 |
- /** |
|
29 |
- * 게시판명 |
|
30 |
- */ |
|
31 |
- private String bbsNm; |
|
32 |
- /** |
|
33 |
- * 게시판상단정보 |
|
34 |
- */ |
|
35 |
- private String bbsUpInfo; |
|
36 |
- /** |
|
37 |
- * 게시판설명 |
|
38 |
- */ |
|
39 |
- private String bbsExpln; |
|
40 |
- /** |
|
41 |
- * 목록수 |
|
42 |
- */ |
|
43 |
- private int artclCnt; |
|
44 |
- /** |
|
45 |
- * 첨부파일 사용여부 |
|
46 |
- * Y : 사용, N : 미사용 |
|
47 |
- */ |
|
48 |
- private String atchFileUseYn; |
|
49 |
- /** |
|
50 |
- * 공지글 사용여부 |
|
51 |
- * Y : 사용, N : 미사용 |
|
52 |
- */ |
|
53 |
- private String ntcUseYn; |
|
54 |
- /** |
|
55 |
- * 파일확장자 |
|
56 |
- */ |
|
57 |
- private List<String> fileExtnNmList; |
|
58 |
- /** |
|
59 |
- * 파일확장자 |
|
60 |
- */ |
|
61 |
- private String fileExtnNm; |
|
62 |
- /** |
|
63 |
- * 파일크기제한 |
|
64 |
- */ |
|
65 |
- private int fileSzLmt; |
|
66 |
- /** |
|
67 |
- * 비밀글 사용여부 |
|
68 |
- * Y : 사용, N : 미사용 |
|
69 |
- */ |
|
70 |
- private String prvtPstUseYn; |
|
71 |
- /** |
|
72 |
- * 이전글/다음글 사용여부 |
|
73 |
- * Y : 사용, N : 미사용 |
|
74 |
- */ |
|
75 |
- private String bfrAftrPstUseYn; |
|
76 |
- /** |
|
77 |
- * 댓글 사용여부 |
|
78 |
- * Y : 사용, N : 미사용 |
|
79 |
- */ |
|
80 |
- private String cmntUseYn; |
|
81 |
- /** |
|
82 |
- * 사용여부 |
|
83 |
- * Y : 사용, N : 미사용 |
|
84 |
- */ |
|
85 |
- private String useYn; |
|
86 |
- /** |
|
87 |
- * 등록자 |
|
88 |
- */ |
|
89 |
- private String rgtr; |
|
90 |
- /** |
|
91 |
- * 등록일 |
|
92 |
- */ |
|
93 |
- private String regDt; |
|
94 |
- /** |
|
95 |
- * 수정자 |
|
96 |
- */ |
|
97 |
- private String mdfr; |
|
98 |
- /** |
|
99 |
- * 수정일 |
|
100 |
- */ |
|
101 |
- private String mdfcnDt; |
|
102 |
- /** |
|
103 |
- * 페이지 유형 |
|
104 |
- */ |
|
105 |
- private String cd; |
|
106 |
- /** |
|
107 |
- * 게시물 수 |
|
108 |
- */ |
|
109 |
- private int bbsCnCnt; |
|
20 |
+ |
|
21 |
+ private String bbsMngId; // 게시판관리아이디 |
|
22 |
+ private String bbsTypeId; // 게시판유형아이디 |
|
23 |
+ private BbsTypeMngVO bbsType; // 게시판유형 (사용 안함) |
|
24 |
+ private String bbsNm; // 게시판명 |
|
25 |
+ private String bbsUpInfo; // 게시판상단정보 |
|
26 |
+ private String bbsExpln; // 게시판설명 |
|
27 |
+ private int artclCnt; // 목록수 |
|
28 |
+ private String atchFileUseYn; // 첨부파일 사용여부 ( Y : 사용, N : 미사용 ) |
|
29 |
+ private String ntcUseYn; // 공지글 사용여부 ( Y : 사용, N : 미사용 ) |
|
30 |
+ private List<String> fileExtnNmList; // 파일확장자 목록 |
|
31 |
+ private String fileExtnNm; // 파일확장자 |
|
32 |
+ private int fileSzLmt; // 파일크기제한 |
|
33 |
+ private String prvtPstUseYn; // 비밀글 사용여부 ( Y : 사용, N : 미사용 ) |
|
34 |
+ private String bfrAftrPstUseYn; // 이전글/다음글 사용여부 ( Y : 사용, N : 미사용 ) |
|
35 |
+ private String cmntUseYn; // 댓글 사용여부 ( Y : 사용, N : 미사용 ) |
|
36 |
+ private String useYn; // 사용여부 ( Y : 사용, N : 미사용 ) |
|
37 |
+ private String rgtr; // 등록자 |
|
38 |
+ private String regDt; // 등록일 |
|
39 |
+ private String mdfr; // 수정자 |
|
40 |
+ private String mdfcnDt; // 수정일 |
|
41 |
+ private String cd; // 페이지 유형 |
|
42 |
+ private int bbsCnCnt; // 게시물 수 |
|
110 | 43 |
|
111 | 44 |
public BbsMngVO() { |
112 | 45 |
this.fileExtnNmList = new ArrayList<>(); |
--- src/main/java/com/takensoft/cms/bbs/vo/BbsRouterVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/BbsRouterVO.java
... | ... | @@ -5,51 +5,24 @@ |
5 | 5 |
/** |
6 | 6 |
* @author : 박정하 |
7 | 7 |
* @since : 2024.05.08 |
8 |
+ * @modification |
|
9 |
+ * since | author | description |
|
10 |
+ * 2024.05.08 | 박정하 | 최초 등록 |
|
11 |
+ * 2025.03.20 | 하석형 | 코드 리펙토링 |
|
8 | 12 |
* |
9 |
- * 게시판 관리 관련 VO |
|
13 |
+ * 게시판 라우터 관련 VO |
|
10 | 14 |
*/ |
11 | 15 |
@Data |
12 | 16 |
public class BbsRouterVO { |
13 |
- /** |
|
14 |
- * 게시판 라우터 아이디 |
|
15 |
- */ |
|
16 |
- private String bbsRouterId; |
|
17 |
- /** |
|
18 |
- * 게시판 관리 아이디 |
|
19 |
- */ |
|
20 |
- private String bbsMngId; |
|
21 |
- /** |
|
22 |
- * 게시판 한글명 |
|
23 |
- */ |
|
24 |
- private String bbsKornNm; |
|
25 |
- /** |
|
26 |
- * 게시판 영문명 |
|
27 |
- */ |
|
28 |
- private String bbsEngNm; |
|
29 |
- /** |
|
30 |
- * 사용자 페이지 경로 |
|
31 |
- */ |
|
32 |
- private String pageCrs; |
|
33 |
- /** |
|
34 |
- * 관리자 페이지 경로 |
|
35 |
- */ |
|
36 |
- private String mngrPageCrs; |
|
37 |
- /** |
|
38 |
- * 컴포넌트 경로 |
|
39 |
- */ |
|
40 |
- private String compnCrs; |
|
41 |
- /** |
|
42 |
- * 노출여부 |
|
43 |
- * Y : 노출, N : 미노출 |
|
44 |
- */ |
|
45 |
- private String expsrYn; |
|
46 |
- /** |
|
47 |
- * 사용여부 |
|
48 |
- * Y : 사용, N : 미사용 |
|
49 |
- */ |
|
50 |
- private String useYn; |
|
51 |
- /** |
|
52 |
- * 등록일 |
|
53 |
- */ |
|
54 |
- private String regDt; |
|
17 |
+ |
|
18 |
+ private String bbsRouterId; // 게시판 라우터 아이디 |
|
19 |
+ private String bbsMngId; // 게시판 관리 아이디 |
|
20 |
+ private String bbsKornNm; // 게시판 한글명 |
|
21 |
+ private String bbsEngNm; // 게시판 영문명 |
|
22 |
+ private String pageCrs; // 사용자 페이지 경로 |
|
23 |
+ private String mngrPageCrs; // 관리자 페이지 경로 |
|
24 |
+ private String compnCrs; // 컴포넌트 경로 |
|
25 |
+ private String expsrYn; // 노출여부 ( Y : 노출, N : 미노출 ) |
|
26 |
+ private String useYn; // 사용여부 ( Y : 사용, N : 미사용 ) |
|
27 |
+ private String regDt; // 등록일 |
|
55 | 28 |
}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/bbs/vo/BbsTypeMngVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/BbsTypeMngVO.java
... | ... | @@ -5,59 +5,26 @@ |
5 | 5 |
/** |
6 | 6 |
* @author : 박정하 |
7 | 7 |
* @since : 2024.05.08 |
8 |
+ * @modification |
|
9 |
+ * since | author | description |
|
10 |
+ * 2024.05.08 | 박정하 | 최초 등록 |
|
11 |
+ * 2025.03.20 | 하석형 | 코드 리펙토링 |
|
8 | 12 |
* |
9 | 13 |
* 게시판 유형 관리 관련 VO |
10 | 14 |
*/ |
11 | 15 |
@Data |
12 | 16 |
public class BbsTypeMngVO { |
13 |
- /** |
|
14 |
- * 게시판유형아이디 |
|
15 |
- */ |
|
16 |
- private String bbsTypeId; |
|
17 |
- /** |
|
18 |
- * 게시판유형한글명 |
|
19 |
- */ |
|
20 |
- private String bbsTypeKornNm; |
|
21 |
- /** |
|
22 |
- * 게시판유형영문명 |
|
23 |
- */ |
|
24 |
- private String bbsTypeEngNm; |
|
25 |
- /** |
|
26 |
- * 게시판유형 |
|
27 |
- */ |
|
28 |
- private String bbsType; |
|
29 |
- /** |
|
30 |
- * 페이지경로 |
|
31 |
- */ |
|
32 |
- private String pageCrs; |
|
33 |
- /** |
|
34 |
- * 컴포넌트경로 |
|
35 |
- */ |
|
36 |
- private String compnCrs; |
|
37 |
- /** |
|
38 |
- * 노출여부 |
|
39 |
- * Y: 예, N: 아니오 |
|
40 |
- */ |
|
41 |
- private String expsrYn; |
|
42 |
- /** |
|
43 |
- * 사용여부 |
|
44 |
- * Y: 사용, N: 미사용 |
|
45 |
- */ |
|
46 |
- private String useYn; |
|
47 |
- /** |
|
48 |
- * 등록자 |
|
49 |
- */ |
|
50 |
- private String rgtr; |
|
51 |
- /** |
|
52 |
- * 등록일 |
|
53 |
- */ |
|
54 |
- private String regDt; |
|
55 |
- /** |
|
56 |
- * 수정자 |
|
57 |
- */ |
|
58 |
- private String mdfr; |
|
59 |
- /** |
|
60 |
- * 수정일 |
|
61 |
- */ |
|
62 |
- private String mdfcnDt; |
|
17 |
+ |
|
18 |
+ private String bbsTypeId; // 게시판유형아이디 |
|
19 |
+ private String bbsTypeKornNm; // 게시판유형한글명 |
|
20 |
+ private String bbsTypeEngNm; // 게시판유형영문명 |
|
21 |
+ private String bbsType; // 게시판유형 |
|
22 |
+ private String pageCrs; // 페이지경로 |
|
23 |
+ private String compnCrs; // 컴포넌트경로 |
|
24 |
+ private String expsrYn; // 노출여부 ( Y : 노출, N : 미노출 ) |
|
25 |
+ private String useYn; // 사용여부 ( Y : 사용, N : 미사용 ) |
|
26 |
+ private String rgtr; // 등록자 |
|
27 |
+ private String regDt; // 등록일 |
|
28 |
+ private String mdfr; // 수정자 |
|
29 |
+ private String mdfcnDt; // 수정일 |
|
63 | 30 |
}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/bbs/vo/CmntVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/CmntVO.java
... | ... | @@ -9,66 +9,31 @@ |
9 | 9 |
/** |
10 | 10 |
* @author : 방선주 |
11 | 11 |
* @since : 2024.05.27 |
12 |
+ * @modification |
|
13 |
+ * since | author | description |
|
14 |
+ * 2024.05.27 | 방선주 | 최초 등록 |
|
15 |
+ * 2025.03.20 | 하석형 | 코드 리펙토링 |
|
12 | 16 |
* |
13 | 17 |
* 게시판 댓글 관련 VO |
14 | 18 |
*/ |
15 | 19 |
@Setter |
16 | 20 |
@Getter |
17 | 21 |
public class CmntVO { |
18 |
- /** |
|
19 |
- * 게시판 댓글 아이디 |
|
20 |
- */ |
|
21 |
- private int cmntId; |
|
22 |
- /** |
|
23 |
- * 게시판 아이디 |
|
24 |
- */ |
|
25 |
- private String bbsId; |
|
26 |
- /** |
|
27 |
- * 상위 댓글 아이디 |
|
28 |
- */ |
|
29 |
- private int upCmntId; |
|
30 |
- /** |
|
31 |
- * 댓글 내용 |
|
32 |
- */ |
|
33 |
- private String cmntCn; |
|
34 |
- /** |
|
35 |
- * 댓글 깊이 (레벨) |
|
36 |
- */ |
|
37 |
- private int cmntGrd; |
|
38 |
- /** |
|
39 |
- * 댓글 순서 |
|
40 |
- */ |
|
41 |
- private int cmntSn; |
|
42 |
- /** |
|
43 |
- * 사용여부 |
|
44 |
- */ |
|
45 |
- private String useYn; |
|
46 |
- /** |
|
47 |
- * 작성자 |
|
48 |
- */ |
|
49 |
- private String rgtr; |
|
50 |
- /** |
|
51 |
- * 작성일자 |
|
52 |
- */ |
|
53 |
- private String regDt; |
|
54 |
- /** |
|
55 |
- * 등록자 명 |
|
56 |
- */ |
|
57 |
- private String rgtrNm; |
|
58 |
- /** |
|
59 |
- * 수정자 |
|
60 |
- */ |
|
61 |
- private String mdfr; |
|
62 |
- /** |
|
63 |
- * 수정일자 |
|
64 |
- */ |
|
65 |
- private String mdfcnDt; |
|
66 |
- /** |
|
67 |
- * 수정자 명 |
|
68 |
- */ |
|
69 |
- private String mdfrNm; // 화면 표출 용도 |
|
70 | 22 |
|
71 |
- private List<CmntVO> children; // 자식 댓글 목록 |
|
23 |
+ private int cmntId; // 게시판 댓글 아이디 |
|
24 |
+ private String bbsId; // 게시판 아이디 |
|
25 |
+ private int upCmntId; // 상위 댓글 아이디 |
|
26 |
+ private String cmntCn; // 댓글 내용 |
|
27 |
+ private int cmntGrd; // 댓글 깊이 (레벨) |
|
28 |
+ private int cmntSn; // 댓글 순서 |
|
29 |
+ private String useYn; // 사용여부 |
|
30 |
+ private String rgtr; // 작성자 |
|
31 |
+ private String regDt; // 작성일자 |
|
32 |
+ private String rgtrNm; // 화면 표출 용도 |
|
33 |
+ private String mdfr; // 수정자 |
|
34 |
+ private String mdfcnDt; // 수정일자 |
|
35 |
+ private String mdfrNm; // 수정자 명 (화면 표출 용도) |
|
36 |
+ private List<CmntVO> children; // 자식 댓글 목록 |
|
72 | 37 |
|
73 | 38 |
public CmntVO() { |
74 | 39 |
this.upCmntId = 0; |
--- src/main/java/com/takensoft/cms/bbs/vo/WordMngVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/WordMngVO.java
... | ... | @@ -6,20 +6,20 @@ |
6 | 6 |
/** |
7 | 7 |
* @author : 방선주 |
8 | 8 |
* @since : 2024.05.31 |
9 |
+ * @modification |
|
10 |
+ * since | author | description |
|
11 |
+ * 2024.05.31 | 방선주 | 최초 등록 |
|
12 |
+ * 2025.03.20 | 하석형 | 코드 리펙토링 |
|
9 | 13 |
* |
10 | 14 |
* 금지단어 관련 VO |
11 | 15 |
*/ |
12 | 16 |
@Setter |
13 | 17 |
@Getter |
14 | 18 |
public class WordMngVO { |
15 |
- // 금지어 관리 번호 |
|
16 |
- private int cntrlNmId; |
|
17 |
- // 금지어 |
|
18 |
- private String cntrlNm; |
|
19 |
- // 등록자명 |
|
20 |
- private String rgtrNm; |
|
21 |
- // 등록자 아이디 |
|
22 |
- private String rgtr; |
|
23 |
- // 등록일 |
|
24 |
- private String regDt; |
|
19 |
+ |
|
20 |
+ private int cntrlNmId; // 금지어 관리 번호 |
|
21 |
+ private String cntrlNm; // 금지어 |
|
22 |
+ private String rgtrNm; // 등록자명 |
|
23 |
+ private String rgtr; // 등록자 아이디 |
|
24 |
+ private String regDt; // 등록일 |
|
25 | 25 |
} |
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?