댓글 삭제 작업중
parent
ff761d4385
commit
aa3f52b7cf
|
|
@ -34,6 +34,7 @@ function Detail(){
|
||||||
};
|
};
|
||||||
|
|
||||||
const retrieveList = useCallback(() => {
|
const retrieveList = useCallback(() => {
|
||||||
|
console.log("@@@ retrieveList 호출됨");
|
||||||
const retrieveListURL = '/user/boards/reply/reply-list?bbsContSeq=' + bbsContSeq;
|
const retrieveListURL = '/user/boards/reply/reply-list?bbsContSeq=' + bbsContSeq;
|
||||||
|
|
||||||
const requestOptions = {
|
const requestOptions = {
|
||||||
|
|
@ -49,13 +50,13 @@ function Detail(){
|
||||||
let mutListTag = [];
|
let mutListTag = [];
|
||||||
setListTag([]);
|
setListTag([]);
|
||||||
resp.result.replyList.forEach(function (item) {
|
resp.result.replyList.forEach(function (item) {
|
||||||
const finalModifiedDate = item?.lastChgDt ? item?.lastChgDt : item?.frstCrtDt;
|
const finalModifiedDate = item?.lastChgDt || item?.frstCrtDt;
|
||||||
const formattedDate = finalModifiedDate ? format(finalModifiedDate, "yyyy-MM-dd HH:mm:ss") : "";
|
const formattedDate = finalModifiedDate ? format(finalModifiedDate, "yyyy-MM-dd HH:mm:ss") : "";
|
||||||
mutListTag.push(
|
mutListTag.push(
|
||||||
<li>
|
<li key={item.replSeq}>
|
||||||
<span>{item?.frstCrtId}, {formattedDate}</span>
|
<span>{item?.frstCrtId}, {formattedDate}</span>
|
||||||
{item?.replCont}
|
{item?.replCont}
|
||||||
<Link to="#" className="btn delete">삭제</Link>
|
<Link to="#" className="btn delete" onClick={() => deleteReply(item.replSeq)}>삭제</Link>
|
||||||
</li>
|
</li>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
@ -66,7 +67,7 @@ function Detail(){
|
||||||
console.log("err response : ", resp);
|
console.log("err response : ", resp);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
},[]);
|
},[bbsContSeq]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
retrieveList();
|
retrieveList();
|
||||||
|
|
@ -81,7 +82,7 @@ function Detail(){
|
||||||
editReply(e);
|
editReply(e);
|
||||||
};
|
};
|
||||||
|
|
||||||
function editReply(e) {
|
const editReply = (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
|
||||||
|
|
@ -113,6 +114,33 @@ function Detail(){
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const deleteReply = (replSeq) => {
|
||||||
|
if (window.confirm("삭제하시겠습니까?")) {
|
||||||
|
EgovNet.requestFetch(
|
||||||
|
'/user/boards/reply/reply-mgt',
|
||||||
|
{
|
||||||
|
method: "DELETE",
|
||||||
|
headers: {
|
||||||
|
'Content-type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({replSeq})
|
||||||
|
},
|
||||||
|
(resp) => {
|
||||||
|
if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) {
|
||||||
|
console.log("@@@ 삭제 성공, retrieveList 호출");
|
||||||
|
retrieveList();
|
||||||
|
} else if (Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)) {
|
||||||
|
console.log("토큰 갱신중.")
|
||||||
|
} else {
|
||||||
|
alert(resp.result.resultMessage)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<div className="c_wrap">
|
<div className="c_wrap">
|
||||||
|
|
|
||||||
|
|
@ -225,4 +225,31 @@ public class UserBoardsController extends BaseController {
|
||||||
return resultVO;
|
return resultVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(
|
||||||
|
summary = "댓글 삭제",
|
||||||
|
description = "댓글 삭제",
|
||||||
|
tags = {"AdminBoardsController"}
|
||||||
|
)
|
||||||
|
@ApiResponses(value = {
|
||||||
|
@ApiResponse(responseCode = "200", description = "삭제 성공"),
|
||||||
|
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
|
||||||
|
})
|
||||||
|
@RequestMapping(method = RequestMethod.DELETE, value = "/reply/reply-mgt")
|
||||||
|
public ResultVO deleteReplyMgt(@RequestBody TnBbsRepl tnBbsRepl, HttpServletRequest request, @AuthenticationPrincipal LoginVO user) {
|
||||||
|
ResultVO resultVO = new ResultVO();
|
||||||
|
if (user == null) {
|
||||||
|
resultVO.setResultCode(ResponseCode.TOKEN_EXPIRED.getCode());
|
||||||
|
} else {
|
||||||
|
tnBbsRepl.setIpAddress(ClientUtils.getRemoteIP(request));
|
||||||
|
String result = userBoardsService.deleteReply(tnBbsRepl);
|
||||||
|
if (result == null) {
|
||||||
|
resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
|
||||||
|
} else if (result.equals("notFind")) {
|
||||||
|
resultVO.setResultCode(ResponseCode.SAVE_ERROR.getCode());
|
||||||
|
resultVO.setResultMessage("대상이 존재하지 않습니다.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,4 +50,15 @@ public class UserBoardsService extends EgovAbstractServiceImpl {
|
||||||
tnBbsReplRepository.save(tnBbsRepl);
|
tnBbsReplRepository.save(tnBbsRepl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public String deleteReply(TnBbsRepl tnBbsRepl) {
|
||||||
|
TnBbsRepl savedReply = tnBbsReplRepository.findById(tnBbsRepl.getReplSeq()).orElse(null);
|
||||||
|
if (savedReply == null) {
|
||||||
|
return "notFind";
|
||||||
|
} else {
|
||||||
|
tnBbsReplRepository.deleteById(tnBbsRepl.getReplSeq());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue