diff --git a/src/main/java/geoinfo/main/api/ApiController.java b/src/main/java/geoinfo/main/api/ApiController.java index 86389812..53a3fe16 100644 --- a/src/main/java/geoinfo/main/api/ApiController.java +++ b/src/main/java/geoinfo/main/api/ApiController.java @@ -63,4 +63,24 @@ public class ApiController { return resultMap; } + + @RequestMapping(value = "discardApiKey.do") + @ResponseBody + public Map discardApiKey(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap params) throws Exception { + Map resultMap = new HashMap<>(); + strUtil sUtil = new strUtil(); + String apiSeq = sUtil.checkNull(parseData.parseData((String)params.get("apiSeq"))); + + String loginUserId = String.valueOf(request.getSession().getAttribute("USERID")); + params.put("userid", loginUserId); + params.put("apiSeq", apiSeq); + + resultMap = apiService.deleteWebApiKey(params); +// +// resultMap.put("code", params.get("p_result_code")); +// resultMap.put("msg", params.get("p_err_msg")); +// resultMap.put("data",params.get("apiKey")); + return resultMap; + } + } diff --git a/src/main/java/geoinfo/main/api/service/ApiMapper.java b/src/main/java/geoinfo/main/api/service/ApiMapper.java index df7e4c53..968392cf 100644 --- a/src/main/java/geoinfo/main/api/service/ApiMapper.java +++ b/src/main/java/geoinfo/main/api/service/ApiMapper.java @@ -17,4 +17,6 @@ public interface ApiMapper { HashMap selectUserLatestKey(HashMap params) throws Exception; public HashMap spAddWebApiKey(HashMap params) throws SQLException; + + int deleteWebApiKey(HashMap params) throws Exception; } diff --git a/src/main/java/geoinfo/main/api/service/ApiService.java b/src/main/java/geoinfo/main/api/service/ApiService.java index 7b0e99da..dcbe70d0 100644 --- a/src/main/java/geoinfo/main/api/service/ApiService.java +++ b/src/main/java/geoinfo/main/api/service/ApiService.java @@ -14,4 +14,6 @@ public interface ApiService { HashMap selectUserLatestKey(HashMap params) throws Exception; HashMap addApiKey(HashMap params) throws Exception; + + HashMap deleteWebApiKey(HashMap params) throws Exception; } diff --git a/src/main/java/geoinfo/main/api/service/impl/ApiServiceImpl.java b/src/main/java/geoinfo/main/api/service/impl/ApiServiceImpl.java index cb5330c3..2078a401 100644 --- a/src/main/java/geoinfo/main/api/service/impl/ApiServiceImpl.java +++ b/src/main/java/geoinfo/main/api/service/impl/ApiServiceImpl.java @@ -16,27 +16,26 @@ import geoinfo.util.KeyGenerator; public class ApiServiceImpl implements ApiService{ @Resource(name="ApiMapper") - private ApiMapper ApiMapper; + private ApiMapper apiMapper; @Override public int selectInfoListCnt(HashMap params) throws Exception { - return ApiMapper.selectInfoListCnt(params); + return apiMapper.selectInfoListCnt(params); } @Override public List selectInfoList(HashMap params) throws Exception { - return ApiMapper.selectInfoList(params); + return apiMapper.selectInfoList(params); } @Override public HashMap selectUserLatestKey(HashMap params) throws Exception { - return ApiMapper.selectUserLatestKey(params); + return apiMapper.selectUserLatestKey(params); } @Override public HashMap addApiKey(HashMap params) throws Exception { - HashMap rtnMap = null; String retCode = ""; String retMsg = ""; final int MAX_RETRY = 10; @@ -47,7 +46,7 @@ public class ApiServiceImpl implements ApiService{ params.put("apiKey", apiKey); // 2. SP 호출 - rtnMap = ApiMapper.spAddWebApiKey(params); + apiMapper.spAddWebApiKey(params); retCode = (String) params.get("p_result_code"); retMsg = (String) params.get("p_err_msg"); @@ -78,4 +77,22 @@ public class ApiServiceImpl implements ApiService{ return params; } + + @Override + public HashMap deleteWebApiKey(HashMap params) throws Exception { + HashMap result = new HashMap(); + int resultCnt = 0; + + resultCnt = apiMapper.deleteWebApiKey(params); + + if (resultCnt > 0) { + result.put("code", "SUCCESS"); + } else { + result.put("code", "ERROR"); + } + + return result; + } + + } diff --git a/src/main/resources/egovframework/sqlmap/mapper/api/geoinfo/Api_SQL.xml b/src/main/resources/egovframework/sqlmap/mapper/api/geoinfo/Api_SQL.xml index 42196552..0f21d462 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/api/geoinfo/Api_SQL.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/api/geoinfo/Api_SQL.xml @@ -41,7 +41,7 @@ FROM (SELECT * FROM WEB_API_KEY WHERE USERID = #{userid} - AND END_DT >= SYSDATE +-- AND END_DT >= SYSDATE ORDER BY END_DT DESC) WHERE ROWNUM = 1 @@ -56,4 +56,11 @@ #{p_err_msg, mode=OUT, jdbcType=VARCHAR} ) } + + + + DELETE + FROM WEB_API_KEY + WHERE API_SEQ = #{apiSeq} + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/body/api/apiKey.jsp b/src/main/webapp/WEB-INF/views/body/api/apiKey.jsp index 15db1907..1fad282e 100644 --- a/src/main/webapp/WEB-INF/views/body/api/apiKey.jsp +++ b/src/main/webapp/WEB-INF/views/body/api/apiKey.jsp @@ -8,25 +8,14 @@ - -<%--

API_SEQ: ${userLastApiKey.API_SEQ}

--%> -<%--

USERID: ${userLastApiKey.USERID}

--%> -<%--

USER_TYPE: ${userLastApiKey.USER_TYPE}

--%> -<%--

API_KEY: ${userLastApiKey.API_KEY}

--%> -<%--

START_DT:

--%> -<%--

END_DT:

--%> -<%--

APPROVE_YN: ${userLastApiKey.APPROVE_YN}

--%> - -
- - + - + @@ -38,7 +27,17 @@
신청일 만료일 승인상태 ${userLastApiKey.APPROVE_YN eq 'Y' ? '승인' : '미승인'}
+
+ + + + + +
+ 갱신 +
+
@@ -83,5 +82,29 @@ } }); } + + /* [갱신] 버튼 클릭 + * 만료일이 지나면 KEY를 새로 발급 받을 수 있다. + */ + function discardApiKey() { + var apiSeq = '${userLastApiKey.API_SEQ}' + $.ajax({ + url : "/discardApiKey.do", + type : "post", + data : {apiSeq: apiSeq}, + dataType :"json", + success : function(res){ + if (res.code == "SUCCESS") { + alert("갱신을 위해 재신청하세요.") + location.reload(); + } else { + alert(res.msg) + } + }, + error : function(){ + alert("오류입니다."); + } + }); + }