카카오 알림톡 채널ID 중복 등록 오류 처리 - 중복 등록 방지 및 사용자 화면 등록버튼 클릭시 로딩바 나오도록 추가
- 중복 등록 방지 및 사용자 화면 등록버튼 클릭시 로딩바 나오도록 추가
@99a16a87074d9022743b2119075bba0b8f378649
--- src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java
+++ src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java
... | ... | @@ -149,11 +149,26 @@ |
| 149 | 149 |
JSONObject tempCate = (JSONObject) object.get("data");
|
| 150 | 150 |
String senderKey = tempCate.get("senderKey").toString();
|
| 151 | 151 |
kakaoVO.setSenderKey(senderKey); |
| 152 |
- kakaoApiService.insertKakaoProfileInfo(kakaoVO); |
|
| 152 |
+ int profileCnt = kakaoApiService.selectKakaoProfileCnt(kakaoVO); |
|
| 153 |
+ |
|
| 154 |
+ //중복된 발신프로필이 없으면 추가 입력 |
|
| 155 |
+ if(profileCnt == 0) {
|
|
| 156 |
+ kakaoApiService.insertKakaoProfileInfo(kakaoVO); |
|
| 157 |
+ }else {//중복이 있는 경우 처리
|
|
| 158 |
+ |
|
| 159 |
+ kakaoReturnVO.setBizReturnCode("310");
|
|
| 160 |
+ kakaoReturnVO.setBizReturnMsg("이미 등록되어 있는 발신프로필 입니다");
|
|
| 161 |
+ |
|
| 162 |
+ return kakaoReturnVO; |
|
| 163 |
+ |
|
| 164 |
+ } |
|
| 153 | 165 |
} |
| 154 | 166 |
|
| 155 | 167 |
}else {
|
| 156 |
- kakaoReturnVO.setBizReturnMsg("400 : 명령을 실행 오류");
|
|
| 168 |
+ |
|
| 169 |
+ kakaoReturnVO.setBizReturnCode(statusCode); |
|
| 170 |
+ kakaoReturnVO.setBizReturnMsg("채널ID 등록에 오류가 발생하였습니다.");
|
|
| 171 |
+ return kakaoReturnVO; |
|
| 157 | 172 |
} |
| 158 | 173 |
|
| 159 | 174 |
} catch (Exception e) {
|
--- src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/KakaoApiService.java
+++ src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/KakaoApiService.java
... | ... | @@ -28,4 +28,7 @@ |
| 28 | 28 |
KakaoVO selectFileInfo (KakaoVO kakaoVO) throws Exception; |
| 29 | 29 |
|
| 30 | 30 |
double selectKakaoCost(); |
| 31 |
+ |
|
| 32 |
+ //sender key를 이용하여 등록된 발신 프로필이 있는지 조회 |
|
| 33 |
+ int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception; |
|
| 31 | 34 |
} |
--- src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiDAO.java
+++ src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiDAO.java
... | ... | @@ -49,4 +49,8 @@ |
| 49 | 49 |
public double selectKakaoCost() {
|
| 50 | 50 |
return (double) select("KakaoApiDAO.selectKakaoCost");
|
| 51 | 51 |
} |
| 52 |
+ |
|
| 53 |
+ public int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception{
|
|
| 54 |
+ return (int) select("kakaoApiDAO.selectKakaoProfileCnt", kakaoVO);
|
|
| 55 |
+ } |
|
| 52 | 56 |
} |
--- src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiServiceImpl.java
+++ src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiServiceImpl.java
... | ... | @@ -7,7 +7,6 @@ |
| 7 | 7 |
import org.springframework.stereotype.Service; |
| 8 | 8 |
|
| 9 | 9 |
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; |
| 10 |
-import egovframework.rte.fdl.cmmn.exception.FdlException; |
|
| 11 | 10 |
import egovframework.rte.fdl.idgnr.EgovIdGnrService; |
| 12 | 11 |
import itn.let.kakao.kakaoComm.KakaoVO; |
| 13 | 12 |
import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService; |
... | ... | @@ -68,4 +67,10 @@ |
| 68 | 67 |
public double selectKakaoCost() {
|
| 69 | 68 |
return kakaoApiDAO.selectKakaoCost(); |
| 70 | 69 |
} |
| 70 |
+ |
|
| 71 |
+ //sender key를 이용하여 등록된 발신 프로필이 있는지 조회 |
|
| 72 |
+ @Override |
|
| 73 |
+ public int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception{
|
|
| 74 |
+ return kakaoApiDAO.selectKakaoProfileCnt(kakaoVO); |
|
| 75 |
+ } |
|
| 71 | 76 |
} |
--- src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_SQL_Mysql.xml
... | ... | @@ -231,4 +231,14 @@ |
| 231 | 231 |
ORDER BY COST_ID DESC |
| 232 | 232 |
LIMIT 1 |
| 233 | 233 |
</select> |
| 234 |
+ |
|
| 235 |
+ <select id="kakaoApiDAO.selectKakaoProfileCnt" parameterClass="kakaoVO" resultClass="Integer"> |
|
| 236 |
+ |
|
| 237 |
+ SELECT COUNT(PROFILE_ID) |
|
| 238 |
+ FROM MJ_KAKAO_PROFILE_INFO |
|
| 239 |
+ WHERE SENDER_KEY = #senderKey# |
|
| 240 |
+ AND DELETE_YN = 'N' |
|
| 241 |
+ |
|
| 242 |
+ </select> |
|
| 243 |
+ |
|
| 234 | 244 |
</sqlMap>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/web/kakao/profile/KakaoProfileList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/profile/KakaoProfileList.jsp
... | ... | @@ -251,7 +251,7 @@ |
| 251 | 251 |
, type : 'POST' |
| 252 | 252 |
, data : data |
| 253 | 253 |
, dataType:'json' |
| 254 |
- , async: false |
|
| 254 |
+ , async: true |
|
| 255 | 255 |
, processData: false |
| 256 | 256 |
, contentType: false |
| 257 | 257 |
, cache: false |
... | ... | @@ -277,8 +277,16 @@ |
| 277 | 277 |
alert(returnData.kakaoInfo.bizReturnMsg); |
| 278 | 278 |
return false; |
| 279 | 279 |
} |
| 280 |
- } |
|
| 281 |
- ,error : function(request , status, error){
|
|
| 280 |
+ }, |
|
| 281 |
+ beforeSend : function(xmlHttpRequest) {
|
|
| 282 |
+ //로딩창 show |
|
| 283 |
+ $('.loading_layer').addClass('active');
|
|
| 284 |
+ }, |
|
| 285 |
+ complete : function(xhr, textStatus) {
|
|
| 286 |
+ //로딩창 hide |
|
| 287 |
+ $('.loading_layer').removeClass('active');
|
|
| 288 |
+ }, |
|
| 289 |
+ error : function(request , status, error){
|
|
| 282 | 290 |
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
| 283 | 291 |
} |
| 284 | 292 |
}); |
... | ... | @@ -386,6 +394,12 @@ |
| 386 | 394 |
} |
| 387 | 395 |
</script> |
| 388 | 396 |
|
| 397 |
+<div class="loading_layer"> |
|
| 398 |
+ <div class="loading_container"> |
|
| 399 |
+ <div class="bar"></div> |
|
| 400 |
+ <div class="text">Loading</div> |
|
| 401 |
+ </div> |
|
| 402 |
+</div> |
|
| 389 | 403 |
|
| 390 | 404 |
<!-- 기업회원 이동 팝업 --> |
| 391 | 405 |
<div class="tooltip-wrap cvt_member_popup_wrap"> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?