From 3611dc59f05a912b58d533c7c19f25227b29863a Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Thu, 21 Aug 2025 15:11:03 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=20api=20=EC=A7=84=ED=96=89=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/kakao/kakaoComm/KakaoSendUtil.java | 73 ++++++------------- .../impl/KakaoAlimTalkServiceImpl.java | 15 ++++ 2 files changed, 39 insertions(+), 49 deletions(-) diff --git a/src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java b/src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java index bcfb9052..94be5904 100644 --- a/src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java +++ b/src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java @@ -134,8 +134,16 @@ public class KakaoSendUtil { // 사용자 개인 단가 정보 불러오기 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값 */ List idList = mjonCommon.getNextCustomMsgCId(kakaoVO.getVarListMap().size()); @@ -152,22 +160,6 @@ public class KakaoSendUtil { /** @Map에 총 갯수가 수신자 갯수와 동일함 */ List> varList = kakaoVO.getVarListMap(); - /* - for (int i = 0; i < varList.size(); i++) { - Map map = varList.get(i); - for (Map.Entry 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 variables : kakaoVO.getVarListMap()) { // 치환 데이터 @@ -176,6 +168,12 @@ public class KakaoSendUtil { /** @공통 기본값 */ 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 @@ public class KakaoSendUtil { String templateContentTemp = templateContent; String templateTitleTemp = templateTitle; + // api가 아니면 if(!isApiData) { if (hasContentReplacement) { templateContentTemp = mjonCommon.ATReplaceTemplateVariables(templateContent, variables); @@ -199,7 +198,8 @@ public class KakaoSendUtil { } } }else { - + templateContentTemp = variables.get("templateContent"); + templateTitleTemp = variables.get("templateTitle"); } @@ -217,44 +217,19 @@ public class KakaoSendUtil { 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())) { int smsTxtByte = mjonCommon.getSmsTxtBytes(sendVO.getSubMsgTxt()); diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java index 700f3b09..520e6975 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java @@ -1033,6 +1033,21 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements 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;