mjon_git/src/main/webapp/WEB-INF/jsp/web/api/appMgmt.jsp

435 lines
14 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<script language=javascript>
$(document).ready(function(){
usrDeptChk();
});
/* API KEY 사용/미사용 처리 */
function fn_delete(p_accessNo, p_useYn){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if(confirm("API KEY 사용 상태 값을 변경합니까?")) {
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIKEYDeleteAjax.do",
data: {
"accessNo" : p_accessNo
, "useYn" : p_useYn
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("변경 처리 완료 하였습니다.");
location.reload();
}else{
alert("변경에 실패하였습니다.~1");
location.reload();
}
},
error: function (e) {
alert("변경에 실패하였습니다.~2");
location.reload();
}
});
}
}
/* API KEY 실제 DB 삭제 - 임시 */
function fn_delete_real(p_accessNo){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if(confirm("API신청 정보(API KEY, 발송서버 IP 데이터 모두 포함)를 삭제처리합니다.삭제후 복구 불가능합니다. 진행하시겠습니까?\n\n(임시 미사용시에는 API KEY 관리의 미사용처리 기능을 이용해주세요~)")) {
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIKEYDeleteRealAjax.do",
data: {
"accessNo" : p_accessNo
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("API KEY 정보 모두 삭제 하였습니다.");
location.reload();
}else{
alert("삭제에 실패하였습니다.~1");
location.reload();
}
},
error: function (e) {
alert("삭제에 실패하였습니다.~2");
location.reload();
}
});
}
}
/* API KEY 변경 */
function fn_update_apikey(p_accessNo){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if(confirm("API KEY 변경 후 복구 불가능합니다. 기존 API KEY는 사용할수 없습니다. 진행하시겠습니까?")) {
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIUpdateAPIKEYAjax.do",
data: {
"accessNo" : p_accessNo
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("API KEY 변경 하였습니다.");
location.reload();
}else{
alert("API KEY 변경 실패하였습니다.1");
location.reload();
}
},
error: function (e) {
alert("API KEY 변경 실패하였습니다.2");
location.reload();
}
});
}
}
/* CALL INFO 호출정보 생성 */
function fn_insert_callInfo(p_accessNo){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if ($("#callInfo").val()==''){
alert("호출지 정보는 필수입니다.");
return false;
}
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIInsertCallInfoAjax.do",
data: {
"accessNo" : p_accessNo
,"callInfo" : $("#callInfo").val()
,"callType" : 'IP'
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("API 호출정보생성 하였습니다.");
location.reload();
}else{
alert("호출정보생성에 실패하였습니다.");
location.reload();
}
},
error: function (e) {
alert("호출정보생성에 실패하였습니다.");
location.reload();
}
});
}
/* CALL INFO 호출정보 삭제 */
function fn_delete_callInfo(p_infoNo, p_accessNo
){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if(confirm("삭제후 복구 불가능합니다. 진행하시겠습니까?")) {
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIDeleteCallInfoAjax.do",
data: {
"accessNo" : p_accessNo
,"infoNo" : p_infoNo
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("API 호출정보삭제 하였습니다.");
location.reload();
}else{
alert("호출정보삭제에 실패하였습니다.");
location.reload();
}
},
error: function (e) {
alert("호출정보삭제에 실패하였습니다.");
location.reload();
}
});
}
}
/* API KEY 생성11 */
function fn_reg_user_4_apikey(){
//frm = document.listForm;
var p_mberId = $('#mberId').val();
var form = document.checkForm;
var data = new FormData(form);
$.ajax({
type: "POST",
url: "/uss/ion/apikey/UserAPIInsertAPIKEYAjax.do",
data: {
"mberId": p_mberId
},
dataType:'json',
success: function (returnData, status) {
if(returnData.result == 'success'){
alert("API KEY 사용자 등록을 하였습니다.");
location.reload();
}else if(returnData.result == 'db'){
alert("API KEY 사용자 등록을 실패하였습니다.(아이디 중복여부 확인해주세요)");
location.reload();
}else if(returnData.result == 'fail'){
alert("API KEY 사용자 등록을 실패하였습니다.(아이디 정상여부 확인해주세요)");
//location.reload();
}else{
alert("API KEY 사용자 등록을 실패하였습니다.(아이디 중복 확인해주세요)");
location.reload();
}
},
error: function (e) {
alert("API KEY 생성 실패하였습니다. 관리자에게 문의해 주세요");
location.reload();
}
});
}
</script>
<form id="checkForm" name="checkForm">
<input type="hidden" id="mberId" value="<c:out value="${mberId }" />" />
</form>
<!-- content 영역 -->
<div class="inner">
<!-- send top -->
<div class="send_top">
<c:import url="./top_tepMenu.jsp" />
<!-- 문자보내기 -->
<div class="top_content api_guide_cont current">
<div class="heading">
<h2>신청/관리<c:out value="${apiVO.useYn }" /></h2>
</div>
<!--신청/관리 내용-->
<!--API 신청 정보 : 신청 전-->
<div class="api_admin">
<div class="admin_title">API 신청 정보</div>
<div class="tb_wrap_t1">
<table class="tType4">
<caption>API 신청 일시, 승인 일시, 상태, 관리 테이블</caption>
<colgroup>
<col style="width:35%">
<col style="width:35%">
<col style="width:15%">
<col style="width:15%">
</colgroup>
<thead>
<tr>
<th>신청 일시</th>
<th>승인 일시</th>
<th>상태</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<tr>
<c:choose>
<c:when test="${apiVO.useYn eq 'A'}"><!-- API 신청 중 -->
<td>${apiVO.frstRegistPnttm}</td>
<td>-</td>
<td>심사중</td>
<td><button type="button" class="btnType btnType23">신청 취소</button></td>
</c:when>
<c:when test="${apiVO.useYn eq 'N' and apiVO.accessKey eq ''}"><!-- API 미승인 -->
<td>${apiVO.frstRegistPnttm}</td>
<td>${apiVO.lastUpdtPnttm}</td>
<td>미승인</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete_real('${apiVO.accessNo}'); return false;">삭제</button>
<button type="button" class="btnType btnType14" onclick="fn_delete('${apiVO.accessNo}','A'); return false;">재신청</button>
</td>
</c:when>
<c:when test="${apiVO.useYn eq 'Y' or (apiVO.useYn eq 'N' and apiVO.accessKey ne '')}"><!-- API 사용 중 -->
<td>${apiVO.frstRegistPnttm}</td>
<td>${apiVO.lastUpdtPnttm}</td>
<td>승인</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete_real('${apiVO.accessNo}'); return false;">사용 취소</button>
</td>
</c:when>
<c:otherwise>
<td colspan="4">신청 내역이 없습니다.</td>
</c:otherwise>
</c:choose>
</tr>
</tbody>
</table>
</div>
<c:if test="${apiVO.useYn eq null}">
<button type="button" class="btnType btnType2" onclick="fn_reg_user_4_apikey(); return false;">사용 신청</button>
</c:if>
</div>
<!--// API 신청 정보 : 신청 전-->
<!--API KEY 관리 : 발급 전-->
<div class="api_admin">
<div class="admin_title">API KEY 관리</div>
<div class="tb_wrap_t1">
<table class="tType4">
<caption>API KEY 생성 일시, API KEY, 상태, 관리 테이블</caption>
<colgroup>
<col style="width:35%">
<col style="width:35%">
<col style="width:15%">
<col style="width:15%">
</colgroup>
<thead>
<tr>
<th>생성 일시</th>
<th>API KEY</th>
<th>상태</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<tr>
<c:choose>
<c:when test="${apiVO.useYn eq 'Y'}">
<td>
${apiVO.lastUpdtPnttm}
</td>
<td>
${apiVO.accessKey}
</td>
<td>
사용
</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','N'); return false;">정지</button>
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('14'); return false;">재발급</button>
</td>
</c:when>
<c:when test="${apiVO.useYn eq 'N'}">
<td>
${apiVO.lastUpdtPnttm}
</td>
<td>
${apiVO.accessKey}
</td>
<td>
미사용
</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','Y'); return false;">사용처리</button>
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('${apiVO.accessNo}'); return false;">재발급</button>
</td>
</c:when>
<c:otherwise>
<td colspan="4">API KEY 발급 내역이 없습니다.</td>
</c:otherwise>
</c:choose>
</tr>
</tbody>
</table>
</div>
<p class="admin_info">* API KEY는 계정당 1개만 제공됩니다.</p>
</div>
<!--// API KEY 관리 : 발급 전-->
<!--API 사용 IP 관리 : IP등록 전-->
<div class="api_admin">
<div class="admin_title">API 사용 IP 관리</div>
<div class="tb_wrap_t1">
<table class="tType4">
<caption>IP 등록 일시, IP, 관리 테이블</caption>
<colgroup>
<col style="width:35%">
<col style="width:35%">
<col style="width:30%">
</colgroup>
<thead>
<tr>
<th>등록 일시</th>
<th>IP</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${apiVO.useYn eq 'Y' or apiVO.useYn eq 'N'}">
<c:forEach var="result" items="${apiCallInfoVOList}" varStatus="status">
<tr>
<td>${result.frstRegistPnttm}</td>
<td>${result.callInfo}</td>
<td><button type="button" class="btnType btnType23" onclick="fn_delete_callInfo('${result.infoNo}', '${result.accessNo}'); return false;">삭제</button></td>
</tr>
</c:forEach>
<c:if test="${apiCallInfoVOListSize eq 0}">
<tr>
<td colspan="3">사용 IP 등록 내역이 없습니다.</td>
</tr>
</c:if>
</c:when>
<c:otherwise>
<tr>
<td colspan="3">사용 IP 등록 내역이 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<!--사용 승인 될 경우에만 노출-->
<c:choose>
<c:when test="${apiVO.useYn eq 'Y' and apiCallInfoVOListSize lt 11}">
<div class="input_box">
<div class="box_in">IP입력 : <input type="text" id="callInfo" placeholder="IP를 입력해주세요"><button type="botton" class="btnType btnType2" onclick="fn_insert_callInfo('${apiVO.accessNo}'); return false;">IP 등록</button></div>
</div>
</c:when>
<c:otherwise>
<!-- <p class="admin_info">* IP는 10개 까지만 등록 가능합니다.</p> -->
</c:otherwise>
</c:choose>
<p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex&#65289; 92.168.255.0 ~ 192.168.255.255 대역을 등록할 경우 192.168. 255. 입력</p>
<p class="admin_info">* IP는 최대 10개까지 등록 가능합니다. 단, IP 대역은 1개의 IP로 계산합니다.<c:out value="${apiCallInfoVOListSize }" /></p>
<!--//사용 승인 될 경우에만 노출-->
</div>
<!--// API 사용 IP 관리 : IP등록 전-->
<!--// 신청/관리 내용-->
</div>
</div>
</div>