rosewiper 2023-10-06
카카오 알림톡 채널ID 중복 등록 오류 처리 - 중복 등록 방지 및 사용자 화면 등록버튼 클릭시 로딩바 나오도록 추가
 - 중복 등록 방지 및 사용자 화면 등록버튼 클릭시 로딩바 나오도록  추가
@99a16a87074d9022743b2119075bba0b8f378649
src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java
--- src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java
+++ src/main/java/itn/let/kakao/kakaoComm/kakaoApi/KakaoApiProfile.java
@@ -149,11 +149,26 @@
 					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) {
src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/KakaoApiService.java
--- 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 @@
 	KakaoVO selectFileInfo (KakaoVO kakaoVO) throws Exception;
 	
 	double selectKakaoCost();
+	
+	//sender key를 이용하여 등록된 발신 프로필이 있는지 조회
+	int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception;
 }
src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiDAO.java
--- 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 @@
 	public double selectKakaoCost() {
 		return (double) select("KakaoApiDAO.selectKakaoCost");
 	}
+	
+	public int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception{
+		return  (int) select("kakaoApiDAO.selectKakaoProfileCnt", kakaoVO);
+	}
 }
src/main/java/itn/let/kakao/kakaoComm/kakaoApi/service/impl/KakaoApiServiceImpl.java
--- 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 @@
 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 double selectKakaoCost() {
 		return kakaoApiDAO.selectKakaoCost();
 	}
+	
+	//sender key를 이용하여 등록된 발신 프로필이 있는지 조회
+	@Override
+	public int selectKakaoProfileCnt(KakaoVO kakaoVO) throws Exception{
+		return  kakaoApiDAO.selectKakaoProfileCnt(kakaoVO);
+	}
 }
src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_SQL_Mysql.xml
--- 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 @@
 		ORDER BY COST_ID DESC
 		LIMIT 1
 	</select>
+	
+	<select id="kakaoApiDAO.selectKakaoProfileCnt" parameterClass="kakaoVO" resultClass="Integer">
+		
+		SELECT COUNT(PROFILE_ID) 
+		FROM MJ_KAKAO_PROFILE_INFO
+		WHERE SENDER_KEY = #senderKey#
+		AND DELETE_YN = 'N'
+	
+	</select>
+	
 </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
+++ src/main/webapp/WEB-INF/jsp/web/kakao/profile/KakaoProfileList.jsp
@@ -251,7 +251,7 @@
 		, type : 'POST'
 		, data : data
 		, dataType:'json'
-		, async: false
+		, async: true
 		, processData: false
 		, contentType: false
 		, cache: false
@@ -277,8 +277,16 @@
 				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 @@
 }
 </script>
 
+<div class="loading_layer">
+	<div class="loading_container">
+		<div class="bar"></div>
+		<div class="text">Loading</div>
+	</div>
+</div>
 
 <!-- 기업회원 이동 팝업 -->
 <div class="tooltip-wrap cvt_member_popup_wrap">
Add a comment
List