이호영 이호영 2025-08-21
알림톡 발송 api 진행중
@3611dc59f05a912b58d533c7c19f25227b29863a
src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
--- src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
+++ src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
@@ -134,7 +134,15 @@
 		// 사용자 개인 단가 정보 불러오기
 		MberManageVO mberManageVO = mjonMsgDataService.selectMberManageInfo(kakaoVO.getUserId());
 		
+
+		float shortPrice = getValidPrice(mberManageVO.getShortPrice(), sysJoinSetVO.getShortPrice());
+		float longPrice = getValidPrice(mberManageVO.getLongPrice(), sysJoinSetVO.getLongPrice());
+		float kakaoAtPrice = getValidPrice(mberManageVO.getKakaoAtPrice(), sysJoinSetVO.getKakaoAtPrice());
 		
+		
+		String shortPStr = Float.toString(shortPrice);
+		String mmsPStr = Float.toString(longPrice);
+		String kakaoAtPStr = Float.toString(kakaoAtPrice);
 		
 
 		/** @MSGID KEY값 */
@@ -152,22 +160,6 @@
 /** @Map에 총 갯수가 수신자 갯수와 동일함 */
 		List<Map<String, String>> varList = kakaoVO.getVarListMap();
 		
-		/*
-			for (int i = 0; i < varList.size(); i++) {
-				Map<String, String> map = varList.get(i);
-				for (Map.Entry<String, String> entry : map.entrySet()) {
-					// key=value 형태로 로그 출력
-					log.info("varList[{}] {} = {}", i, entry.getKey(), entry.getValue());
-				}
-			}
-			
-			if(1==1) {
-			
-				// 강제로 예외 발생
-				throw new RuntimeException("강제 예외 발생 테스트");	
-			}
-		*/
-		
 		for (int i = 0; i < varList.size(); i++) {
 			//		for(Map<String, String> variables : kakaoVO.getVarListMap()) {
 			// 치환 데이터
@@ -176,6 +168,12 @@
 			
 /** @공통 기본값 */		
 			KakaoSendAdvcVO sendVO = createATSendVO(kakaoVO);
+			// 공통 가격 설정
+			sendVO.setSmsPrice(shortPStr);
+			sendVO.setMmsPrice(mmsPStr);
+			sendVO.setKakaoAtPrice(kakaoAtPStr);
+			
+			
 			String msgId = idList.get(i);
 			sendVO.setMsgId(msgId);
 
@@ -191,6 +189,7 @@
 			String templateContentTemp = templateContent;
 			String templateTitleTemp = templateTitle;
 			
+			// api가 아니면
 			if(!isApiData) {
 				if (hasContentReplacement) {
 					templateContentTemp = mjonCommon.ATReplaceTemplateVariables(templateContent, variables);
@@ -199,7 +198,8 @@
 					}
 				}
 			}else {
-				
+				templateContentTemp = variables.get("templateContent");
+				templateTitleTemp = variables.get("templateTitle");
 			}
 			
 			
@@ -217,43 +217,18 @@
 			String subMsgTxtTemp = subMsgTxt;
 			// Step 1-4: 실패 대체 문자 치환데이터 설정
 			if("Y".equals(kakaoVO.getSubMsgSendYn())) { // 대체문자가 있나?
-				if ("Y".equals(kakaoVO.getSubMsgTxtReplYn())) { // 치환데이터가 있나?
-					subMsgTxtTemp = mjonCommon.ATReplaceTemplateVariables(subMsgTxt, variables);
+				// api가 아니면
+				if(!isApiData) {
+					if ("Y".equals(kakaoVO.getSubMsgTxtReplYn())) { // 치환데이터가 있나?
+						subMsgTxtTemp = mjonCommon.ATReplaceTemplateVariables(subMsgTxt, variables);
+					}
+				}else {
+					subMsgTxtTemp = variables.get("subMsgTxt");
 				}
 				sendVO.setSubMsgTxt(subMsgTxtTemp);// 실패 
 			}
 			sendVO.setSubMsgSendYn(kakaoVO.getSubMsgSendYn()); 
 			
-			
-			/*
-						log.info("kakaoSendAdvcVO Details: [callTo={}\n, templateContent=\n{}\n, subMsgTxt=\n{}]\n\n\n\n",
-								kakaoSendAdvcVO.getCallTo(),
-								kakaoSendAdvcVO.getTemplateContent(),
-								kakaoSendAdvcVO.getSubMsgTxt()
-								);
-			*/
-
-			// Step1 END
-
-			
-// step3
-// 바이트 수 체크 및 금액설정
-			
-
-			// 유효한 단가 계산
-			float shortPrice = getValidPrice(mberManageVO.getShortPrice(), sysJoinSetVO.getShortPrice());
-			float longPrice = getValidPrice(mberManageVO.getLongPrice(), sysJoinSetVO.getLongPrice());
-			float kakaoAtPrice = getValidPrice(mberManageVO.getKakaoAtPrice(), sysJoinSetVO.getKakaoAtPrice());
-			
-			
-			String shortPStr = Float.toString(shortPrice);
-			String mmsPStr = Float.toString(longPrice);
-			String kakaoAtPStr = Float.toString(kakaoAtPrice);
-			
-			// 공통 가격 설정
-			sendVO.setSmsPrice(shortPStr);
-			sendVO.setMmsPrice(mmsPStr);
-			sendVO.setKakaoAtPrice(kakaoAtPStr);
 			
 			
 			if("Y".equals(kakaoVO.getSubMsgSendYn())) {
src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
--- src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
+++ src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
@@ -1033,6 +1033,21 @@
 			apiMsgType = StringUtils.isNotEmpty(apiMsgType)
 					? apiMsgType + "," + kakaoSendAdvcListVO.get(0).getMsgType()
 							: kakaoSendAdvcListVO.get(0).getMsgType();
+			
+			
+			
+			groupedMsgList.stream().forEach(t-> log.info("t.toString() [{}]", t.toString()));
+			
+
+			if(1==1) {
+			
+				// 강제로 예외 발생
+				throw new RuntimeException("강제 예외 발생 테스트");	
+			}
+			
+			
+			
+			
 			// 발송 데이터 삽입
 			int instCnt = kakaoSendUtil.insertKakaoData_advc(groupedMsgList);
 //			int instCnt = 6;
Add a comment
List