--- src/main/java/itn/let/kakao/kakaoComm/KakaoSendAdvcVO.java
+++ src/main/java/itn/let/kakao/kakaoComm/KakaoSendAdvcVO.java
... | ... | @@ -24,7 +24,9 @@ |
| 24 | 24 |
* |
| 25 | 25 |
*/ |
| 26 | 26 |
private static final long serialVersionUID = 343099046833205405L; |
| 27 |
- |
|
| 27 |
+ |
|
| 28 |
+ // ===== |
|
| 29 |
+ // Insert 데이터 |
|
| 28 | 30 |
private String msgId; // 문자ID |
| 29 | 31 |
private String msgGroupId; // 전송그룹ID |
| 30 | 32 |
private String userId; // 사용자ID |
... | ... | @@ -41,6 +43,16 @@ |
| 41 | 43 |
private String subMsgType; // 대체문자 타입 |
| 42 | 44 |
private String bizJsonName; // JSON 파일명 |
| 43 | 45 |
private String reqDate; // 예약일시 |
| 46 |
+ |
|
| 47 |
+ // ===== |
|
| 48 |
+ // ===== |
|
| 49 |
+ |
|
| 50 |
+ private float smsPrice; // sms 단가 |
|
| 51 |
+ private float mmsPrice; // mms 단가 |
|
| 52 |
+ private float kakaoAtPrice; // 카카오 알림톡 단가 |
|
| 53 |
+ |
|
| 54 |
+ |
|
| 55 |
+ |
|
| 44 | 56 |
|
| 45 | 57 |
@Override |
| 46 | 58 |
public String toString() {
|
... | ... | @@ -61,6 +73,11 @@ |
| 61 | 73 |
"\n , subMsgType=[" + subMsgType + "]" + |
| 62 | 74 |
"\n , bizJsonName=[" + bizJsonName + "]" + |
| 63 | 75 |
"\n , reqDate=[" + reqDate + "]" + |
| 76 |
+ "\n , ==== MJ_MSG_DATA INSERT DATA END =======" + |
|
| 77 |
+ "\n " + |
|
| 78 |
+ "\n , smsPrice=[" + smsPrice + "]" + |
|
| 79 |
+ "\n , mmsPrice=[" + mmsPrice + "]" + |
|
| 80 |
+ "\n , kakaoAtPrice=[" + kakaoAtPrice + "]" + |
|
| 64 | 81 |
"\n ]"; |
| 65 | 82 |
} |
| 66 | 83 |
|
--- src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
+++ src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
... | ... | @@ -9,18 +9,22 @@ |
| 9 | 9 |
import javax.annotation.Resource; |
| 10 | 10 |
|
| 11 | 11 |
import org.springframework.beans.factory.annotation.Autowired; |
| 12 |
+import org.springframework.http.HttpStatus; |
|
| 12 | 13 |
import org.springframework.stereotype.Component; |
| 13 | 14 |
|
| 14 | 15 |
import itn.com.cmm.util.StringUtil; |
| 15 | 16 |
import itn.let.kakao.kakaoComm.kakaoApi.KakaoApiJsonSave; |
| 16 | 17 |
import itn.let.mail.service.StatusResponse; |
| 18 |
+import itn.let.mjo.mjocommon.MjonCommon; |
|
| 17 | 19 |
import itn.let.mjo.msg.service.MjonMsgVO; |
| 18 | 20 |
import itn.let.mjo.msgdata.service.MjonMsgDataService; |
| 19 | 21 |
import itn.let.mjo.spammsg.web.ComGetSpamStringParser; |
| 20 | 22 |
import itn.let.module.base.PriceAndPoint; |
| 21 | 23 |
import itn.let.sym.site.service.JoinSettingVO; |
| 22 | 24 |
import itn.let.uss.umt.service.MberManageVO; |
| 25 |
+import lombok.extern.slf4j.Slf4j; |
|
| 23 | 26 |
|
| 27 |
+@Slf4j |
|
| 24 | 28 |
@Component |
| 25 | 29 |
public class KakaoSendUtil {
|
| 26 | 30 |
|
... | ... | @@ -32,6 +36,16 @@ |
| 32 | 36 |
|
| 33 | 37 |
@Autowired |
| 34 | 38 |
private PriceAndPoint priceAndPoint; |
| 39 |
+ |
|
| 40 |
+ @Autowired |
|
| 41 |
+ private MjonCommon mjonCommon; |
|
| 42 |
+ |
|
| 43 |
+ |
|
| 44 |
+ |
|
| 45 |
+ // 단문 메세지 타입 |
|
| 46 |
+ public static final String SHORT_MSG_TYPE = "SMS"; |
|
| 47 |
+ // 장문 메세지 타입 |
|
| 48 |
+ public static final String LONG_MSG_TYPE = "MMS"; |
|
| 35 | 49 |
|
| 36 | 50 |
/** |
| 37 | 51 |
* @methodName : kakaoSendPrice_advc |
... | ... | @@ -45,125 +59,177 @@ |
| 45 | 59 |
* @throws Exception |
| 46 | 60 |
* |
| 47 | 61 |
*/ |
| 48 |
- public KakaoVO populateSendLists(KakaoVO kakaoVO, StatusResponse statusResponse) throws Exception {
|
|
| 62 |
+ public List<KakaoSendAdvcVO> populateSendLists(KakaoVO kakaoVO, StatusResponse statusResponse) throws Exception {
|
|
| 49 | 63 |
|
| 50 | 64 |
//사용자 현재 보유 금액 불러오기(문자 발송 금액 차감 이전 금액) |
| 51 | 65 |
// String befCash = kakaoVO.getBefCash(); |
| 52 | 66 |
|
| 53 |
- MjonMsgVO mjonMsgVO = new MjonMsgVO(); |
|
| 54 |
- mjonMsgVO.setUserId(kakaoVO.getUserId()); |
|
| 55 |
- String userMoney = priceAndPoint.getBefCash(kakaoVO.getUserId()); |
|
| 56 |
- String userPoint = priceAndPoint.getBefPoint(kakaoVO.getUserId()); |
|
| 57 | 67 |
|
| 58 |
- //1.시스템 기본 단가 정보 불러오기 |
|
| 59 |
- JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo(); |
|
| 60 | 68 |
|
| 61 |
- //2.사용자 개인 단가 정보 불러오기 |
|
| 62 |
- MberManageVO mberManageVO = mjonMsgDataService.selectMberManageInfo(kakaoVO.getUserId()); |
|
| 63 |
- Float kakaoAtPrice = mberManageVO.getKakaoAtPrice(); |
|
| 64 | 69 |
|
| 65 |
- /** 대체문자 여부 체크(있으면 대체문자 가격으로 없으면 카카오톡 가격으로) */ |
|
| 66 |
- //대체문자 발송 여부 확인 |
|
| 67 |
- if("Y".equals(kakaoVO.getSubMsgSendYn())) {
|
|
| 70 |
+ log.info(" +kakaoVO.getVarListMap().size() :: [{}]", kakaoVO.getVarListMap().size());
|
|
| 71 |
+ |
|
| 72 |
+ List<KakaoSendAdvcVO> kakaoSendAdvcListVO = new ArrayList<>(); |
|
| 73 |
+ |
|
| 74 |
+ |
|
| 75 |
+ |
|
| 76 |
+ // Map에 총 갯수가 수신자 갯수와 동일함 |
|
| 77 |
+ for(Map<String, String> variables : kakaoVO.getVarListMap()) {
|
|
| 68 | 78 |
|
| 69 |
-// MsgSendUtils.getSmsTxtBytes |
|
| 79 |
+ KakaoSendAdvcVO kakaoSendAdvcVO = new KakaoSendAdvcVO(); |
|
| 70 | 80 |
|
| 71 | 81 |
|
| 72 |
- String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산 |
|
| 73 |
- int callToCnt = kakaoVO.getCallToList().length; |
|
| 74 |
- String sendType = ""; |
|
| 82 |
+ |
|
| 83 |
+ // step1 |
|
| 84 |
+ // Step 1-1: 값 치환 및 수신번호 셋팅 |
|
| 85 |
+ String templateContent = kakaoVO.getTemplateContent(); // 알림톡 템플릿 |
|
| 75 | 86 |
|
| 76 |
- for(int count =0; count < callToCnt; count++) {
|
|
| 77 |
- |
|
| 78 |
- |
|
| 79 |
- String tempSubMagTxt = kakaoVO.getSubMsgTxt().replace("\r\n", "\n");
|
|
| 80 |
- |
|
| 81 |
- |
|
| 82 |
- if(kakaoVO.getSubMsgTxtReplYn().equals("Y")) {
|
|
| 83 |
- tempSubMagTxt = kakaoSubMagTxtRepl(tempSubMagTxt, kakaoVO, count); |
|
| 87 |
+ // Step 1-2: 수신자 정보 설정 (callToList는 항상 설정). |
|
| 88 |
+ if (variables.containsKey("callToList")) {
|
|
| 89 |
+ kakaoSendAdvcVO.setCallTo(variables.get("callToList"));
|
|
| 90 |
+ variables.remove("callToList"); // 사용 후 제거.
|
|
| 91 |
+ } |
|
| 92 |
+ |
|
| 93 |
+ // Step 1-3: 템플릿 치환데이터 설정 |
|
| 94 |
+ // TxtReplYn이 "Y"일 때만 치환 수행 |
|
| 95 |
+ if ("Y".equals(kakaoVO.getTxtReplYn())) {
|
|
| 96 |
+ templateContent = replaceTemplateVariables(templateContent, variables); |
|
| 97 |
+ } |
|
| 98 |
+ kakaoSendAdvcVO.setTemplateContent(templateContent); |
|
| 99 |
+ |
|
| 100 |
+ |
|
| 101 |
+ // Step 1-4: 실패 대체 문자 치환데이터 설정 |
|
| 102 |
+ if("Y".equals(kakaoVO.getSubMsgSendYn())) {
|
|
| 103 |
+ String subMsgTxt = kakaoVO.getSubMsgTxt(); // 실패 대체 치환 문자 |
|
| 104 |
+ // TxtReplYn이 "Y"일 때만 치환 수행 |
|
| 105 |
+ if ("Y".equals(kakaoVO.getSubMsgTxtReplYn())) {
|
|
| 106 |
+ subMsgTxt = replaceTemplateVariables(subMsgTxt, variables); |
|
| 84 | 107 |
} |
| 85 |
- int bytes = tempSubMagTxt.getBytes(charset).length; |
|
| 108 |
+ kakaoSendAdvcVO.setSubMsgTxt(subMsgTxt);// 실패 |
|
| 109 |
+ } |
|
| 110 |
+ /* |
|
| 111 |
+ log.info("kakaoSendAdvcVO Details: [callTo={}\n, templateContent=\n{}\n, subMsgTxt=\n{}]\n\n\n\n",
|
|
| 112 |
+ kakaoSendAdvcVO.getCallTo(), |
|
| 113 |
+ kakaoSendAdvcVO.getTemplateContent(), |
|
| 114 |
+ kakaoSendAdvcVO.getSubMsgTxt() |
|
| 115 |
+ ); |
|
| 116 |
+ */ |
|
| 117 |
+ |
|
| 118 |
+ |
|
| 119 |
+ // 시스템 기본 단가 정보 불러오기 |
|
| 120 |
+ JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo(); |
|
| 121 |
+ |
|
| 122 |
+ // 사용자 개인 단가 정보 불러오기 |
|
| 123 |
+ MberManageVO mberManageVO = mjonMsgDataService.selectMberManageInfo(kakaoVO.getUserId()); |
|
| 124 |
+ Float kakaoAtPrice = mberManageVO.getKakaoAtPrice(); |
|
| 125 |
+ // 유효한 단가 계산 |
|
| 126 |
+ float shortPrice = getValidPrice(mberManageVO.getShortPrice(), sysJoinSetVO.getShortPrice()); |
|
| 127 |
+ float longPrice = getValidPrice(mberManageVO.getLongPrice(), sysJoinSetVO.getLongPrice()); |
|
| 128 |
+ |
|
| 129 |
+ // 공통 가격 설정 |
|
| 130 |
+ kakaoVO.setSmsPrice(shortPrice); |
|
| 131 |
+ kakaoVO.setMmsPrice(longPrice); |
|
| 132 |
+ |
|
| 133 |
+ |
|
| 134 |
+ if("Y".equals(kakaoVO.getSubMsgSendYn())) {
|
|
| 135 |
+ int smsTxtByte = mjonCommon.getSmsTxtBytes(kakaoSendAdvcVO.getSubMsgTxt()); |
|
| 86 | 136 |
|
| 87 |
- if(bytes < 2000) {
|
|
| 88 |
- if(bytes > 90) {
|
|
| 89 |
- sendType = "MMS"; |
|
| 90 |
- break; |
|
| 91 |
- }else {
|
|
| 92 |
- sendType = "SMS"; |
|
| 93 |
- } |
|
| 94 |
- }else {
|
|
| 95 |
- kakaoVO.setResultCode("2000");
|
|
| 96 |
- return kakaoVO; |
|
| 137 |
+ String sendType = getMsgType(smsTxtByte); |
|
| 138 |
+ |
|
| 139 |
+ if ("INVALID".equals(sendType)) {
|
|
| 140 |
+ statusResponseSet(statusResponse, HttpStatus.BAD_REQUEST, "전송 문자 길이를 초과하였습니다.");return kakaoSendAdvcListVO; |
|
| 97 | 141 |
} |
| 142 |
+ |
|
| 143 |
+ boolean isMms = "MMS".equals(sendType); |
|
| 144 |
+ kakaoAtPrice = isMms ? longPrice : shortPrice; |
|
| 145 |
+ kakaoVO.setKakaoAtPrice(getValidPrice(mberManageVO.getKakaoAtPrice(), sysJoinSetVO.getKakaoAtPrice())); |
|
| 146 |
+ |
|
| 147 |
+ |
|
| 148 |
+ } else {
|
|
| 149 |
+ kakaoAtPrice = getValidPrice(mberManageVO.getKakaoAtPrice(), sysJoinSetVO.getKakaoAtPrice()); |
|
| 150 |
+ kakaoVO.setKakaoAtPrice(kakaoAtPrice); |
|
| 98 | 151 |
} |
| 99 | 152 |
|
| 100 |
- if(sendType.equals("MMS")) {
|
|
| 101 |
- //협의 단가가 없으면 시스템 단가로 지정 |
|
| 102 |
- if(mberManageVO.getLongPrice() < 1) {
|
|
| 103 |
- kakaoAtPrice = sysJoinSetVO.getLongPrice(); |
|
| 104 |
- |
|
| 105 |
- kakaoVO.setSmsPrice(sysJoinSetVO.getShortPrice()); |
|
| 106 |
- kakaoVO.setMmsPrice(sysJoinSetVO.getLongPrice()); |
|
| 107 |
- kakaoVO.setKakaoAtPrice(sysJoinSetVO.getKakaoAtPrice()); |
|
| 108 |
- }else {
|
|
| 109 |
- kakaoAtPrice = mberManageVO.getLongPrice(); |
|
| 110 |
- |
|
| 111 |
- kakaoVO.setSmsPrice(mberManageVO.getShortPrice()); |
|
| 112 |
- kakaoVO.setMmsPrice(mberManageVO.getLongPrice()); |
|
| 113 |
- |
|
| 114 |
- if(mberManageVO.getKakaoAtPrice() < 1) {
|
|
| 115 |
- kakaoVO.setKakaoAtPrice(sysJoinSetVO.getKakaoAtPrice()); |
|
| 116 |
- }else {
|
|
| 117 |
- kakaoVO.setKakaoAtPrice(mberManageVO.getKakaoAtPrice()); |
|
| 118 |
- } |
|
| 119 |
- } |
|
| 120 |
- }else {
|
|
| 121 |
- //협의 단가가 없으면 시스템 단가로 지정 |
|
| 122 |
- if(mberManageVO.getShortPrice() < 1) {
|
|
| 123 |
- kakaoAtPrice = sysJoinSetVO.getShortPrice(); |
|
| 124 |
- |
|
| 125 |
- kakaoVO.setSmsPrice(sysJoinSetVO.getShortPrice()); |
|
| 126 |
- kakaoVO.setMmsPrice(sysJoinSetVO.getLongPrice()); |
|
| 127 |
- kakaoVO.setKakaoAtPrice(sysJoinSetVO.getKakaoAtPrice()); |
|
| 128 |
- }else {
|
|
| 129 |
- kakaoAtPrice = mberManageVO.getShortPrice(); |
|
| 130 |
- |
|
| 131 |
- kakaoVO.setSmsPrice(mberManageVO.getShortPrice()); |
|
| 132 |
- kakaoVO.setMmsPrice(mberManageVO.getLongPrice()); |
|
| 133 |
- if(mberManageVO.getKakaoAtPrice() < 1) {
|
|
| 134 |
- kakaoVO.setKakaoAtPrice(sysJoinSetVO.getKakaoAtPrice()); |
|
| 135 |
- }else {
|
|
| 136 |
- kakaoVO.setKakaoAtPrice(mberManageVO.getKakaoAtPrice()); |
|
| 137 |
- } |
|
| 138 |
- } |
|
| 139 |
- } |
|
| 140 |
- }else {
|
|
| 141 |
- if(kakaoAtPrice < 1) { //협의 단가가 없으면 시스템 단가로 지정
|
|
| 142 |
- kakaoAtPrice = sysJoinSetVO.getKakaoAtPrice(); |
|
| 143 |
- |
|
| 144 |
- kakaoVO.setSmsPrice(sysJoinSetVO.getShortPrice()); |
|
| 145 |
- kakaoVO.setMmsPrice(sysJoinSetVO.getLongPrice()); |
|
| 146 |
- kakaoVO.setKakaoAtPrice(sysJoinSetVO.getKakaoAtPrice()); |
|
| 147 |
- }else {
|
|
| 148 |
- kakaoVO.setSmsPrice(mberManageVO.getShortPrice()); |
|
| 149 |
- kakaoVO.setMmsPrice(mberManageVO.getLongPrice()); |
|
| 150 |
- kakaoVO.setKakaoAtPrice(mberManageVO.getKakaoAtPrice()); |
|
| 151 |
- } |
|
| 153 |
+ |
|
| 154 |
+ |
|
| 155 |
+ // step3 |
|
| 156 |
+ // 바이트 수 체크 ==> 실패 성공 |
|
| 157 |
+ |
|
| 158 |
+ // step4 |
|
| 159 |
+ // 예약 시간 설정 및 분할 데이터 설정 |
|
| 160 |
+ |
|
| 161 |
+ // step5 |
|
| 162 |
+ // 전송 메세지 설정 kakaoSendMsg 참고 |
|
| 163 |
+ |
|
| 164 |
+ |
|
| 165 |
+ |
|
| 166 |
+// kakaoSendAdvcVO.setSendType("AT");
|
|
| 167 |
+ kakaoSendAdvcVO.setMsgType("8");
|
|
| 168 |
+ kakaoSendAdvcVO.setUserId(kakaoVO.getUserId()); |
|
| 169 |
+ |
|
| 170 |
+ |
|
| 152 | 171 |
} |
| 153 | 172 |
|
| 154 |
- /** 전송인원 확인*/ |
|
| 155 |
- int totCallCnt = kakaoVO.getCallToList().length; |
|
| 156 |
- Float kakaoTotPrice = totCallCnt * kakaoAtPrice; // 총결제 금액 = 총 전송수량 * 카카오 알림톡 단가 |
|
| 157 |
- String totPrice = kakaoTotPrice.toString(); |
|
| 158 |
- System.out.println("@@@@@@@ : "+kakaoTotPrice +" = "+totCallCnt+" * "+kakaoAtPrice);
|
|
| 159 | 173 |
|
| 160 |
- kakaoVO.setEachPrice(kakaoAtPrice.toString()); |
|
| 161 |
- kakaoVO.setBefCash(userMoney); // 고객 충전금액 |
|
| 162 |
- kakaoVO.setBefPoint(userPoint); // 고객 충전 포인트 |
|
| 163 |
- kakaoVO.setTotPrice(totPrice); // 총 카카오 전송 금액 |
|
| 164 |
- |
|
| 165 |
- return kakaoVO; |
|
| 174 |
+ return kakaoSendAdvcListVO; |
|
| 166 | 175 |
} |
| 176 |
+ |
|
| 177 |
+ |
|
| 178 |
+ public Float getValidPrice(Float personalPrice, Float defaultPrice) {
|
|
| 179 |
+ return (personalPrice != null && personalPrice > 0) ? personalPrice : defaultPrice; |
|
| 180 |
+ } |
|
| 181 |
+ |
|
| 182 |
+ |
|
| 183 |
+ /** |
|
| 184 |
+ * @methodName : getMsgType |
|
| 185 |
+ * @author : 이호영 |
|
| 186 |
+ * @date : 2025. 3. 12. |
|
| 187 |
+ * @description : 메세지 타입 구하기 |
|
| 188 |
+ * @return : String |
|
| 189 |
+ * @param smsTxtByte |
|
| 190 |
+ * @return |
|
| 191 |
+ * |
|
| 192 |
+ */ |
|
| 193 |
+ private String getMsgType(int smsTxtByte) {
|
|
| 194 |
+ // TODO Auto-generated method stub |
|
| 195 |
+ |
|
| 196 |
+ String msgType = SHORT_MSG_TYPE; |
|
| 197 |
+ |
|
| 198 |
+ // 1. 2000 Byte 초과는 에러 처리 |
|
| 199 |
+ if (smsTxtByte > 2000) {
|
|
| 200 |
+ return "INVALID"; |
|
| 201 |
+ } |
|
| 202 |
+ |
|
| 203 |
+ // 2. 문자 길이에 따라 메시지 타입 설정 (90 Byte 초과는 장문) |
|
| 204 |
+ if (smsTxtByte > 90) {
|
|
| 205 |
+ msgType = LONG_MSG_TYPE; |
|
| 206 |
+ } |
|
| 207 |
+ |
|
| 208 |
+ return msgType; |
|
| 209 |
+ } |
|
| 210 |
+ |
|
| 211 |
+ |
|
| 212 |
+ /** |
|
| 213 |
+ * @methodName : replaceTemplateVariables |
|
| 214 |
+ * @author : 이호영 |
|
| 215 |
+ * @date : 2025. 3. 12. |
|
| 216 |
+ * @description : 헬퍼 메서드: 템플릿 변수 치환 |
|
| 217 |
+ * @return : String |
|
| 218 |
+ * @param content |
|
| 219 |
+ * @param variables |
|
| 220 |
+ * @return |
|
| 221 |
+ */ |
|
| 222 |
+ private String replaceTemplateVariables(String content, Map<String, String> variables) {
|
|
| 223 |
+ String result = content; |
|
| 224 |
+ for (Map.Entry<String, String> entry : variables.entrySet()) {
|
|
| 225 |
+ String placeholder = entry.getKey(); |
|
| 226 |
+ String value = entry.getValue(); |
|
| 227 |
+ result = result.replace(placeholder, value); |
|
| 228 |
+ } |
|
| 229 |
+ return result; |
|
| 230 |
+ } |
|
| 231 |
+ |
|
| 232 |
+ |
|
| 167 | 233 |
|
| 168 | 234 |
/** |
| 169 | 235 |
* @Method Name : kakaoSendPrice |
... | ... | @@ -847,5 +913,10 @@ |
| 847 | 913 |
//} |
| 848 | 914 |
return ""; |
| 849 | 915 |
} |
| 850 |
- |
|
| 916 |
+ |
|
| 917 |
+ public static void statusResponseSet (StatusResponse statusResponse, HttpStatus httpStatus, String msg ) {
|
|
| 918 |
+ statusResponse.setStatus(httpStatus); |
|
| 919 |
+ statusResponse.setMessage(msg); |
|
| 920 |
+ |
|
| 921 |
+ } |
|
| 851 | 922 |
} |
--- src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
+++ src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
... | ... | @@ -25,6 +25,7 @@ |
| 25 | 25 |
import itn.let.kakao.kakaoComm.KakaoVO; |
| 26 | 26 |
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService; |
| 27 | 27 |
import itn.let.mail.service.StatusResponse; |
| 28 |
+import itn.let.mjo.mjocommon.MjonCommon; |
|
| 28 | 29 |
import itn.let.mjo.mjocommon.MjonHolidayApi; |
| 29 | 30 |
import itn.let.mjo.msg.service.MjonMsgVO; |
| 30 | 31 |
import itn.let.mjo.msg.service.impl.MjonMsgDAO; |
... | ... | @@ -74,10 +75,10 @@ |
| 74 | 75 |
private EgovUserManageService userManageService; |
| 75 | 76 |
|
| 76 | 77 |
@Autowired |
| 77 |
- private PriceAndPoint priceAndPoint; |
|
| 78 |
+ KakaoSendUtil kakaoSendUtil; |
|
| 78 | 79 |
|
| 79 | 80 |
@Autowired |
| 80 |
- KakaoSendUtil kakaoSendUtil; |
|
| 81 |
+ private MjonCommon mjonCommon; |
|
| 81 | 82 |
|
| 82 | 83 |
//발신프로필 상태값 변경(삭제/복구 기능) |
| 83 | 84 |
@Override |
... | ... | @@ -845,7 +846,7 @@ |
| 845 | 846 |
@Override |
| 846 | 847 |
public StatusResponse insertKakaoAtSandAjax_advc(KakaoVO kakaoVO, HttpServletRequest request) throws Exception {
|
| 847 | 848 |
|
| 848 |
-// log.info(" :: [{}]", kakaoVO.toString());
|
|
| 849 |
+ log.info(" :: [{}]", kakaoVO.toString());
|
|
| 849 | 850 |
|
| 850 | 851 |
// KakaoSendAdvcVO |
| 851 | 852 |
|
... | ... | @@ -860,6 +861,7 @@ |
| 860 | 861 |
return new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용이 가능합니다."); |
| 861 | 862 |
} |
| 862 | 863 |
|
| 864 |
+ kakaoVO.setUserId(userId); |
|
| 863 | 865 |
|
| 864 | 866 |
/** |
| 865 | 867 |
* 회원 정지된 상태이면 문자 발송이 안되도록 처리함 현재 로그인 세션도 만료 처리함 |
... | ... | @@ -877,18 +879,23 @@ |
| 877 | 879 |
|
| 878 | 880 |
|
| 879 | 881 |
/** 카카오톡 전송 기본 설정 -------------------------------------------*/ |
| 880 |
- kakaoVO.setSendType("AT");
|
|
| 881 |
- kakaoVO.setMsgType("8");
|
|
| 882 |
- kakaoVO.setUserId(userId); |
|
| 883 | 882 |
|
| 884 | 883 |
|
| 885 | 884 |
/** 전송금액 설정 --------------------------------------------------*/ |
| 886 |
-// KakaoVO priceSet = kakaoSendUtil.populateSendLists(kakaoVO, statusResponse); |
|
| 885 |
+ List<KakaoSendAdvcVO> kakaoSendAdvcListVO = kakaoSendUtil.populateSendLists(kakaoVO, statusResponse); |
|
| 886 |
+ if (statusResponse.getStatus() != null && !statusResponse.getStatus().equals(HttpStatus.OK)) {
|
|
| 887 |
+ log.error(" + populateSendLists 처리 중 오류 발생: {}", statusResponse.getMessage());
|
|
| 888 |
+ return statusResponse; |
|
| 889 |
+ } |
|
| 887 | 890 |
|
| 888 | 891 |
|
| 889 | 892 |
|
| 890 | 893 |
|
| 891 | 894 |
|
| 895 |
+ // step 1 |
|
| 896 |
+// List<String> idList = mjonCommon.getNextCustomMsgCId(mjonMsgSendVOList.size()); |
|
| 897 |
+ |
|
| 898 |
+ |
|
| 892 | 899 |
|
| 893 | 900 |
|
| 894 | 901 |
|
--- src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java
+++ src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java
... | ... | @@ -221,6 +221,8 @@ |
| 221 | 221 |
} |
| 222 | 222 |
|
| 223 | 223 |
return "web/kakao/msgdata/at/KakaoAlimtalkMsgDataView"; |
| 224 |
+// return "web/kakao/msgdata/at/KakaoAlimtalkMsgDataView_advcbackup_20250310"; |
|
| 225 |
+ |
|
| 224 | 226 |
} |
| 225 | 227 |
|
| 226 | 228 |
|
... | ... | @@ -1126,10 +1128,6 @@ |
| 1126 | 1128 |
|
| 1127 | 1129 |
/** 전송금액 설정 --------------------------------------------------*/ |
| 1128 | 1130 |
KakaoVO priceSet = kakaoSendUtil.kakaoSendPrice(kakaoVO); |
| 1129 |
- |
|
| 1130 |
- if (true) {
|
|
| 1131 |
- throw new IllegalStateException("배열 크기 초과");
|
|
| 1132 |
- } |
|
| 1133 | 1131 |
|
| 1134 | 1132 |
|
| 1135 | 1133 |
if(priceSet.getResultCode() != null && priceSet.getResultCode().equals("2000")) {
|
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?