116 lines
4.0 KiB
Plaintext
116 lines
4.0 KiB
Plaintext
= 게시판 관리
|
|
|
|
== 개요
|
|
|
|
SDL에서 제공하는 게시판 관리 기능으로 공지사항(메인화면 공지팝업 연동)이나 FAQ 게시판 등 Community 성격으로 게시글 등록 및 답변기능을 사용할 수 있는 게시판 기능이다. +
|
|
관리 기능에서 게시판 등록 및 관리를 할 수 있으며 사용자용과 관리자용 메뉴를 따로 만들어 권한별로 게시판 기능을 사용할 수 있도록 제공한다.
|
|
|
|
== Table
|
|
|
|
* 게시판 : TN_CF_BOARD
|
|
* 게시판 분류 : TN_CF_BOARD_CLASSIFICATION
|
|
* 게시판 컬럼 : TN_CF_BOARD_COLUMN
|
|
|
|
== API
|
|
|
|
.BoardController.java
|
|
|
|
. 게시판 목록 조회(페이징) +
|
|
GET /boards-with-paging +
|
|
Query ID : selectBoardPagingList
|
|
|
|
. 게시판 상세정보 조회 +
|
|
GET /boards/{boardId} +
|
|
Query ID : selectBoard
|
|
|
|
. 게시판 등록 +
|
|
POST /boards +
|
|
Query ID : insertBoard, insertBoardClassification, insertBoardColumn
|
|
* 게시판 등록 시 등록화면에서 추가한 게시판 분류 목록과 default 컬럼 정보가 저장된다.
|
|
|
|
[source,java]
|
|
----
|
|
@Override
|
|
@Transactional
|
|
public void insertBoard(Board board) {
|
|
|
|
// 게시판 저장.
|
|
boardDao.insertBoard(board);
|
|
|
|
// 게시판 분류 저장.
|
|
if (!board.getClassifications().isEmpty()) {
|
|
for (BoardClassification boardClassification : board.getClassifications()) {
|
|
boardClassification.setBoardId(board.getBoardId());
|
|
boardClassification.setClassificationId(idGenService.getNextStringId());
|
|
boardDao.insertBoardClassification(boardClassification);
|
|
}
|
|
}
|
|
|
|
// 게시판 컬럼 저장.
|
|
boardDao.insertBoardColumn(board.getBoardId());
|
|
}
|
|
----
|
|
|
|
[start=5]
|
|
. 게시판 수정 +
|
|
PUT /boards/{boardId} +
|
|
Query ID : updateBoard, updateBoardClassification, updateBoardColumn
|
|
* 게시판 수정시 변경된 게시판 분류 목록과 컬럼 정보가 수정된다.
|
|
|
|
[source,java]
|
|
----
|
|
@Override
|
|
@Transactional
|
|
public void updateBoard(Board board) {
|
|
|
|
// 게시판 수정.
|
|
boardDao.updateBoard(board);
|
|
|
|
// 게시판 분류 수정.
|
|
List<BoardClassification> beforeClassifications = boardDao.getBoardClassificationList(board.getBoardId());
|
|
List<String> beforeClassificationIdList = new ArrayList<>();
|
|
-- 생략 --
|
|
}
|
|
----
|
|
|
|
[start=6]
|
|
. 게시판 삭제 +
|
|
DELETE /boards/{boardId} +
|
|
Query ID : deleteBoard
|
|
|
|
== 화면
|
|
|
|
. 게시판 목록 화면
|
|
|
|
image::boardManagement_01.png[]
|
|
|
|
* 게시판 목록을 확인할 수 있다.
|
|
* 해당 게시판의 등록된 게시글 등록건수와 현재 사용 여부등의 정보를 보여준다.
|
|
* 등록 버튼 클릭 시 등록화면으로 이동되며 게시판 명 클릭 시 게시판 수정화면으로 이동된다.
|
|
|
|
[start=2]
|
|
. 게시판 등록 화면
|
|
|
|
image::boardManagement_02.png[]
|
|
|
|
* 게시판을 등록할 수 있다.
|
|
* 게시판 세부기능 속성
|
|
** 에디터 사용여부 : CafeNote 등 에디터를 사용할지 선택('미사용' 선택 시 textarea 태그로 구현된다)
|
|
** 이미지파일사용 : 이미지 파일 등록 시 본문에 이미지를 표시한다.(사진형 게시판일 경우 필수사용)
|
|
** 메인 공지팝업 : 게시글 등록 시 메인 공지사항 팝업창에 해당 기간동안 게시글이 노출된다.
|
|
** 게시글 '공지'라벨 표시 : 게시글 등록 시 게시글 목록 상단에 공지 게시글로 노출된다.
|
|
|
|
[start=3]
|
|
. 게시판 상세정보 수정 화면
|
|
|
|
image::boardManagement_03.png[]
|
|
|
|
* 게시판 세부기능 속성 변경이 가능하다.
|
|
* '공지팝업 제한' 기능은 해당 게시판의 공지게시글을 일시적으로 제한할 수 있는 기능이다.
|
|
|
|
image::boardManagement_04.png[]
|
|
|
|
* 게시판의 검색 조건을 선택할 수 있다.
|
|
* 게시글 목록화면에서 보여줄 정보를 선택 할수 있다.
|
|
** 각 컬럼의 사용 여부에 따라서 넓이가 합산 100%로 변경된다.
|
|
* 게시글 목록 정렬 기준을 선택 할 수 있으며 작성일 내림차순이 기본으로 선택된다. |