diff --git a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java index 758b63e2..eaf2247f 100644 --- a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java +++ b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java @@ -149,11 +149,26 @@ public class KakaoApiProfile { JSONObject tempCate = (JSONObject) object.get("data"); String senderKey = tempCate.get("senderKey").toString(); kakaoVO.setSenderKey(senderKey); - kakaoApiService.insertKakaoProfileInfo(kakaoVO); + int profileCnt = kakaoApiService.selectKakaoProfileCnt(kakaoVO); + + //중복된 발신프로필이 없으면 추가 입력 + if(profileCnt == 0) { + kakaoApiService.insertKakaoProfileInfo(kakaoVO); + }else {//중복이 있는 경우 처리 + + kakaoReturnVO.setBizReturnCode("310"); + kakaoReturnVO.setBizReturnMsg("이미 등록되어 있는 발신프로필 입니다"); + + return kakaoReturnVO; + + } } }else { - kakaoReturnVO.setBizReturnMsg("400 : 명령을 실행 오류"); + + kakaoReturnVO.setBizReturnCode(statusCode); + kakaoReturnVO.setBizReturnMsg("채널ID 등록에 오류가 발생하였습니다."); + return kakaoReturnVO; } } catch (Exception e) { diff --git a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/KakaoApiService.java b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/KakaoApiService.java index 2b57562d..937dbd18 100644 --- a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/KakaoApiService.java +++ b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/KakaoApiService.java @@ -28,4 +28,7 @@ public interface KakaoApiService { KakaoVO selectFileInfo (KakaoVO kakaoVO) throws Exception; double selectKakaoCost(); + + //sender key를 이용하여 등록된 발신 프로필이 있는지 조회 + int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception; } diff --git a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiDAO.java b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiDAO.java index 059a061d..02505e9a 100644 --- a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiDAO.java +++ b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiDAO.java @@ -49,4 +49,8 @@ public class KakaoApiDAO extends EgovAbstractDAO { public double selectKakaoCost() { return (double) select("KakaoApiDAO.selectKakaoCost"); } + + public int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception{ + return (int) select("kakaoApiDAO.selectKakaoProfileCnt", kakaoVO); + } } diff --git a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiServiceImpl.java b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiServiceImpl.java index e9405ef9..8def81a0 100644 --- a/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiServiceImpl.java +++ b/src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiServiceImpl.java @@ -7,7 +7,6 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; -import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import itn.let.kakao.kakaoComm.KakaoVO; import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService; @@ -68,4 +67,10 @@ public class KakaoApiServiceImpl extends EgovAbstractServiceImpl implements Kaka public double selectKakaoCost() { return kakaoApiDAO.selectKakaoCost(); } + + //sender key를 이용하여 등록된 발신 프로필이 있는지 조회 + @Override + public int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception{ + return kakaoApiDAO.selectKakaoProfileCnt(kakaoVO); + } } diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_SQL_Mysql.xml index 44ae5550..2c1640cf 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_SQL_Mysql.xml @@ -231,4 +231,14 @@ ORDER BY COST_ID DESC LIMIT 1 + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/profile/KakaoProfileList.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/profile/KakaoProfileList.jsp index 7a8558c4..736eabd9 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/profile/KakaoProfileList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/profile/KakaoProfileList.jsp @@ -251,7 +251,7 @@ function sendProfile(){ , type : 'POST' , data : data , dataType:'json' - , async: false + , async: true , processData: false , contentType: false , cache: false @@ -277,8 +277,16 @@ function sendProfile(){ alert(returnData.kakaoInfo.bizReturnMsg); return false; } - } - ,error : function(request , status, error){ + }, + beforeSend : function(xmlHttpRequest) { + //로딩창 show + $('.loading_layer').addClass('active'); + }, + complete : function(xhr, textStatus) { + //로딩창 hide + $('.loading_layer').removeClass('active'); + }, + error : function(request , status, error){ alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); @@ -386,6 +394,12 @@ function linkPage(pageNo){ } +