diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/board/EgovAdminBoardEdit.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/board/EgovAdminBoardEdit.jsx
index 49865e2..b3e425e 100644
--- a/egovframe-template-simple-react-contribution/src/pages/admin/board/EgovAdminBoardEdit.jsx
+++ b/egovframe-template-simple-react-contribution/src/pages/admin/board/EgovAdminBoardEdit.jsx
@@ -74,6 +74,31 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
)
}
+ function deleteBoard(bbs){
+ if(window.confirm("삭제하시겠습니까?")) {
+ EgovNet.requestFetch(
+ '/admin/boards/board-mgt',
+ {
+ method: "DELETE",
+ headers: {
+ 'Content-type': 'application/json'
+ },
+ body: JSON.stringify(bbs)
+ },
+ (resp) => {
+ if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) {
+ alert("삭제되었습니다.")
+ reloadFunction();
+ } else if (Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)) {
+ console.log("토큰 갱신중.")
+ } else {
+ alert(resp.result.resultMessage)
+ }
+ }
+ )
+ }
+ }
+
console.log("------------------------------EgovAdminBoardEdit [End]");
console.groupEnd("EgovAdminBoardEdit");
@@ -118,7 +143,7 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
{modeInfo.mode === CODE.MODE_MODIFY &&
-
+
}
diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/boards/List.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/boards/List.jsx
index 5f2f31b..62486d4 100644
--- a/egovframe-template-simple-react-contribution/src/pages/admin/boards/List.jsx
+++ b/egovframe-template-simple-react-contribution/src/pages/admin/boards/List.jsx
@@ -6,12 +6,9 @@ import URL from 'constants/url';
import CODE from 'constants/code';
import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin';
-import EgovPaging from 'components/EgovPaging';
-
-import { itemIdxByPage } from 'utils/calc';
-import MenuModal from "../config/menuMgt/MenuModal";
import Modal from "react-bootstrap/Modal";
import EgovAdminBoardEdit from "../board/EgovAdminBoardEdit";
+import {format} from "date-fns";
function EgovAdminBoardList(props) {
console.group("EgovAdminBoardList");
@@ -63,8 +60,8 @@ function EgovAdminBoardList(props) {
{item.bbsId}
{item.bbsTitle}
{item.frstCrtId}
- {item.frstCrtDt}
- {item.lastChgDt}
+ {item.frstCrtDt ? format(item.frstCrtDt, "yyyy-MM-dd HH:mm") : ""}
+ {item.lastChgDt ? format(item.lastChgDt, "yyyy-MM-dd HH:mm") : ""}
);
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/AdminBoardsController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/AdminBoardsController.java
index e8fbe2a..67ece4a 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/AdminBoardsController.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/AdminBoardsController.java
@@ -55,7 +55,7 @@ public class AdminBoardsController extends BaseController {
@Operation(
summary = "게시판 저장",
description = "게시판 저장",
- tags = {"AdminConfigController"}
+ tags = {"AdminBoardsController"}
)
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "저장 성공"),
@@ -83,4 +83,30 @@ public class AdminBoardsController extends BaseController {
}
return resultVO;
}
+
+ @Operation(
+ summary = "게시판 삭제",
+ description = "게시판 삭제",
+ tags = {"AdminBoardsController"}
+ )
+ @ApiResponses(value = {
+ @ApiResponse(responseCode = "200", description = "삭제 성공"),
+ @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
+ })
+ @RequestMapping(method = RequestMethod.DELETE, value = "/board-mgt")
+ public ResultVO removeBoardMgt(@RequestBody TnBbs bbs, @AuthenticationPrincipal LoginVO user) {
+ ResultVO resultVO = new ResultVO();
+ if (user == null) {
+ resultVO.setResultCode(ResponseCode.TOKEN_EXPIRED.getCode());
+ } else {
+ String result = adminBoardsService.deleteBoard(bbs, user.getId());
+ if (result == null) {
+ resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
+ } else if (result.equals("notFind")) {
+ resultVO.setResultCode(ResponseCode.SAVE_ERROR.getCode());
+ resultVO.setResultMessage("대상이 존재하지 않습니다.");
+ }
+ }
+ return resultVO;
+ }
}
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/repository/TnBbsRepository.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/repository/TnBbsRepository.java
index b700de4..5291413 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/repository/TnBbsRepository.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/repository/TnBbsRepository.java
@@ -2,11 +2,13 @@ package com.dbnt.kcscbackend.admin.boards.repository;
import com.dbnt.kcscbackend.admin.boards.entity.TnBbs;
import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
import java.util.List;
public interface TnBbsRepository extends JpaRepository {
+ @Query(value = "SELECT * FROM tn_bbs WHERE use_yn = 'Y' ORDER BY bbs_seq DESC", nativeQuery = true)
List findAllByOrderByBbsSeqDesc();
}
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/service/AdminBoardsService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/service/AdminBoardsService.java
index 39c25a1..f20dd4f 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/service/AdminBoardsService.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/service/AdminBoardsService.java
@@ -2,6 +2,7 @@ package com.dbnt.kcscbackend.admin.boards.service;
import com.dbnt.kcscbackend.admin.boards.entity.TnBbs;
import com.dbnt.kcscbackend.admin.boards.repository.TnBbsRepository;
+import com.dbnt.kcscbackend.admin.config.entity.TcMenu;
import lombok.RequiredArgsConstructor;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.stereotype.Service;
@@ -17,13 +18,16 @@ public class AdminBoardsService extends EgovAbstractServiceImpl {
private final TnBbsRepository tnBbsRepository;
- public List selectBoardList() { return tnBbsRepository.findAllByOrderByBbsSeqDesc(); }
+ public List selectBoardList() {
+ return tnBbsRepository.findAllByOrderByBbsSeqDesc();
+ }
- public Optional selectBoard(Long bbsSeq) { return tnBbsRepository.findById(bbsSeq); }
+ public Optional selectBoard(Long bbsSeq) {
+ return tnBbsRepository.findById(bbsSeq);
+ }
@Transactional
public void saveBoard(TnBbs bbs, String userId) {
-
if (bbs.getBbsSeq() == null) {
bbs.setFrstCrtDt(LocalDateTime.now());
bbs.setFrstCrtId(userId);
@@ -43,4 +47,18 @@ public class AdminBoardsService extends EgovAbstractServiceImpl {
}
}
+ @Transactional
+ public String deleteBoard(TnBbs bbs, String userId) {
+ TnBbs savedBoard = tnBbsRepository.findById(bbs.getBbsSeq()).orElse(null);
+ if (savedBoard == null) {
+ return "notFind";
+ } else {
+ savedBoard.setUseYn("N");
+ savedBoard.setLastChgDt(LocalDateTime.now());
+ savedBoard.setLastChgId(userId);
+ tnBbsRepository.save(savedBoard);
+ return null;
+ }
+ }
+
}