Compare commits
2 Commits
380cd52d2e
...
47bd58c75f
| Author | SHA1 | Date |
|---|---|---|
|
|
47bd58c75f | |
|
|
16d0119ff1 |
|
|
@ -32,6 +32,7 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
|
||||||
|
|
||||||
const [bbsTypeList, setBbsTypeList] = useState([]);
|
const [bbsTypeList, setBbsTypeList] = useState([]);
|
||||||
const [roleList, setRoleList] = useState([]);
|
const [roleList, setRoleList] = useState([]);
|
||||||
|
const [duplicateYn, setDuplicateYn] = useState("");
|
||||||
|
|
||||||
const retrieveList = useCallback(() => {
|
const retrieveList = useCallback(() => {
|
||||||
const retrieveListURL = '/admin/boards/mgt/get-option-list';
|
const retrieveListURL = '/admin/boards/mgt/get-option-list';
|
||||||
|
|
@ -72,6 +73,20 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
|
||||||
function editBoard(e) {
|
function editBoard(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
|
||||||
|
if (modeInfo.mode === CODE.MODE_CREATE) {
|
||||||
|
if (duplicateYn === "") {
|
||||||
|
alert("중복확인을 해주세요.");
|
||||||
|
return;
|
||||||
|
} else if (duplicateYn === "Y") {
|
||||||
|
alert("중복된 아이디 입니다.");
|
||||||
|
return;
|
||||||
|
} else if (duplicateYn === "C") {
|
||||||
|
alert("중복확인을 다시 해주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const form = e.target;
|
const form = e.target;
|
||||||
const info = {
|
const info = {
|
||||||
bbsId: form.bbsId.value,
|
bbsId: form.bbsId.value,
|
||||||
|
|
@ -103,7 +118,7 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
|
||||||
} else if (Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)) {
|
} else if (Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)) {
|
||||||
console.log("토큰 갱신중.")
|
console.log("토큰 갱신중.")
|
||||||
} else {
|
} else {
|
||||||
alert(resp.result.resultMessage)
|
alert(resp.resultMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
@ -133,6 +148,44 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleInputChange = (e) => {
|
||||||
|
setDuplicateYn("C");
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleCheckDuplicate = () => {
|
||||||
|
const bbsId = document.querySelector('[name="bbsId"]').value;
|
||||||
|
if (!bbsId.trim()) {
|
||||||
|
alert("게시판 ID를 입력해주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const checkDuplicateURL = '/admin/boards/mgt/check-duplicate?bbsId=' + bbsId;
|
||||||
|
|
||||||
|
const requestOptions = {
|
||||||
|
method: "GET",
|
||||||
|
headers: {
|
||||||
|
'Content-type': 'application/json',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EgovNet.requestFetch(checkDuplicateURL,
|
||||||
|
requestOptions,
|
||||||
|
(resp) => {
|
||||||
|
setDuplicateYn(resp.result.duplicateYn);
|
||||||
|
console.log("@@@ duplicateYn : " + JSON.stringify(resp.result.duplicateYn));
|
||||||
|
if (resp.result.duplicateYn === "Y") {
|
||||||
|
alert("중복된 아이디 입니다.");
|
||||||
|
}
|
||||||
|
else if (resp.result.duplicateYn === "N") {
|
||||||
|
alert("사용 가능한 아이디 입니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
function (resp) {
|
||||||
|
console.log("err response : ", resp);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
console.log("------------------------------EgovAdminBoardEdit [End]");
|
console.log("------------------------------EgovAdminBoardEdit [End]");
|
||||||
console.groupEnd("EgovAdminBoardEdit");
|
console.groupEnd("EgovAdminBoardEdit");
|
||||||
|
|
||||||
|
|
@ -157,7 +210,12 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
|
||||||
<dt><label htmlFor="bbsId">게시판 ID</label><span className="req">필수</span></dt>
|
<dt><label htmlFor="bbsId">게시판 ID</label><span className="req">필수</span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<Form.Control className="f_input2 w_full" type="text" name="bbsId" placeholder="게시판 ID" required
|
<Form.Control className="f_input2 w_full" type="text" name="bbsId" placeholder="게시판 ID" required
|
||||||
defaultValue={props?.bbsId} readOnly={props!==undefined}/>
|
defaultValue={props?.bbsId} readOnly={modeInfo.mode === CODE.MODE_MODIFY} onChange={handleInputChange}/>
|
||||||
|
</dd>
|
||||||
|
<dd>
|
||||||
|
{modeInfo.mode !== CODE.MODE_MODIFY && (
|
||||||
|
<button type="button" className="btn btn_skyblue_h46 w_100" onClick={handleCheckDuplicate}>중복확인</button>
|
||||||
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,25 @@ public class AdminBoardsController extends BaseController {
|
||||||
return resultVO;
|
return resultVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(
|
||||||
|
summary = "게시판 ID 중복 확인",
|
||||||
|
description = "게시판 ID 중복 확인",
|
||||||
|
tags = {"AdminBoardsController"}
|
||||||
|
)
|
||||||
|
@ApiResponses(value = {
|
||||||
|
@ApiResponse(responseCode = "200", description = "조회 성공"),
|
||||||
|
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
|
||||||
|
})
|
||||||
|
@RequestMapping(method = RequestMethod.GET, value = "/mgt/check-duplicate", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResultVO checkDuplicate(String bbsId) throws Exception {
|
||||||
|
ResultVO resultVO = new ResultVO();
|
||||||
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
|
||||||
|
resultMap.put("duplicateYn", adminBoardsService.checkDuplicate(bbsId));
|
||||||
|
resultVO.setResult(resultMap);
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
@Operation(
|
@Operation(
|
||||||
summary = "게시판 저장",
|
summary = "게시판 저장",
|
||||||
description = "게시판 저장",
|
description = "게시판 저장",
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,12 @@ import com.dbnt.kcscbackend.admin.boards.entity.TnBbs;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface TnBbsRepository extends JpaRepository<TnBbs, Long> {
|
public interface TnBbsRepository extends JpaRepository<TnBbs, Long> {
|
||||||
|
|
||||||
List<TnBbs> findAllByOrderByBbsSeqDesc();
|
List<TnBbs> findAllByOrderByBbsSeqDesc();
|
||||||
|
|
||||||
|
Optional<TnBbs> findByBbsId(String bbsId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,13 @@ public class AdminBoardsService extends EgovAbstractServiceImpl {
|
||||||
return tnBbsRepository.findAllByOrderByBbsSeqDesc();
|
return tnBbsRepository.findAllByOrderByBbsSeqDesc();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String checkDuplicate(String bbsId) {
|
||||||
|
Optional<TnBbs> result = tnBbsRepository.findByBbsId(bbsId);
|
||||||
|
String duplicateYn = result.isPresent() ? "Y" : "N";
|
||||||
|
System.out.println("@@@ duplicateYn : " + duplicateYn);
|
||||||
|
return duplicateYn;
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void saveBoard(TnBbs bbs, String userId) {
|
public void saveBoard(TnBbs bbs, String userId) {
|
||||||
if (bbs.getBbsSeq() == null) {
|
if (bbs.getBbsSeq() == null) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue