--- src/main/java/itn/let/kakao/kakaoComm/KakaoSendAdvcVO.java
+++ src/main/java/itn/let/kakao/kakaoComm/KakaoSendAdvcVO.java
... | ... | @@ -47,6 +47,7 @@ |
| 47 | 47 |
|
| 48 | 48 |
private String jsonStr; // jsonStr |
| 49 | 49 |
|
| 50 |
+ private String sendKind; //문자전송 타입(H:홈페이지, A:API) |
|
| 50 | 51 |
// ===== |
| 51 | 52 |
// ===== |
| 52 | 53 |
|
... | ... | @@ -89,6 +90,7 @@ |
| 89 | 90 |
"\n , subMsgType=[" + subMsgType + "]" + |
| 90 | 91 |
"\n , reqDate=[" + reqDate + "]" + |
| 91 | 92 |
"\n , jsonStr=[" + jsonStr + "]" + |
| 93 |
+ "\n , sendKind=[" + sendKind + "]" + |
|
| 92 | 94 |
"\n , ==== MJ_MSG_DATA INSERT DATA END =======" + |
| 93 | 95 |
"\n " + |
| 94 | 96 |
"\n , eachPrice=[" + eachPrice + "]" + |
--- src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
+++ src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
... | ... | @@ -218,7 +218,8 @@ |
| 218 | 218 |
sendVO.setSubMsgType(sendType); |
| 219 | 219 |
|
| 220 | 220 |
if ("INVALID".equals(sendType)) {
|
| 221 |
- statusResponseSet(statusResponse, HttpStatus.BAD_REQUEST, "전송 문자 길이를 초과하였습니다.");return kakaoSendAdvcListVO; |
|
| 221 |
+// statusResponseSet(statusResponse, HttpStatus.BAD_REQUEST, "전송 문자 길이를 초과하였습니다.");return kakaoSendAdvcListVO; |
|
| 222 |
+ StatusResponse.statusResponseSet(statusResponse, HttpStatus.BAD_REQUEST, "전송 문자 길이를 초과하였습니다.", "STAT_1080");return kakaoSendAdvcListVO; |
|
| 222 | 223 |
} |
| 223 | 224 |
|
| 224 | 225 |
boolean isMms = "MMS".equals(sendType); |
--- src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
+++ src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
... | ... | @@ -870,17 +870,25 @@ |
| 870 | 870 |
// KakaoSendAdvcVO |
| 871 | 871 |
|
| 872 | 872 |
Map<String, Object> returnMap = new HashMap<>(); |
| 873 |
+ Map<String, Object> apiReturnMap = new HashMap<>(); |
|
| 873 | 874 |
|
| 874 |
- LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() |
|
| 875 |
- ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() |
|
| 876 |
- : null; |
|
| 877 |
- String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 875 |
+ String userId = ""; |
|
| 876 |
+ if("A".equals(kakaoVO.getSendKind()))
|
|
| 877 |
+ {
|
|
| 878 |
+ userId = kakaoVO.getMberId(); |
|
| 879 |
+ }else {
|
|
| 880 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() |
|
| 881 |
+ ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() |
|
| 882 |
+ : null; |
|
| 883 |
+ userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 884 |
+ |
|
| 885 |
+ if (userId.equals("")) {
|
|
| 886 |
+ return new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용이 가능합니다."); |
|
| 887 |
+ } |
|
| 878 | 888 |
|
| 879 |
- if (userId.equals("")) {
|
|
| 880 |
- return new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용이 가능합니다."); |
|
| 881 | 889 |
} |
| 882 | 890 |
|
| 883 |
- kakaoVO.setUserId(userId); |
|
| 891 |
+ kakaoVO.setUserId(userId); |
|
| 884 | 892 |
|
| 885 | 893 |
/** |
| 886 | 894 |
* 회원 정지된 상태이면 문자 발송이 안되도록 처리함 현재 로그인 세션도 만료 처리함 |
... | ... | @@ -890,7 +898,7 @@ |
| 890 | 898 |
request.getSession().invalidate(); |
| 891 | 899 |
// UNAUTHORIZED : 인증되지 않은 사용자가 접근하려고 할 때 |
| 892 | 900 |
return new StatusResponse(HttpStatus.UNAUTHORIZED, |
| 893 |
- "현재 고객님께서는 문자온 서비스 이용이 정지된 상태로 알림톡을 발송하실 수 없습니다. 이용정지 해제를 원하시면 고객센터로 연락주시기 바랍니다."); |
|
| 901 |
+ "현재 고객님께서는 문자온 서비스 이용이 정지된 상태로 알림톡을 발송하실 수 없습니다. 이용정지 해제를 원하시면 고객센터로 연락주시기 바랍니다.", "STAT_1070"); |
|
| 894 | 902 |
} |
| 895 | 903 |
|
| 896 | 904 |
|
... | ... | @@ -915,7 +923,7 @@ |
| 915 | 923 |
/** @전송금액 확인 --------------------------------------------------*/ |
| 916 | 924 |
if (!isCashSufficient(userId, kakaoSendAdvcListVO)) {
|
| 917 | 925 |
log.error("Insufficient balance for message sending.");
|
| 918 |
- return new StatusResponse(HttpStatus.BAD_REQUEST, "문자 발송에 필요한 보유 잔액이 부족 합니다."); |
|
| 926 |
+ return new StatusResponse(HttpStatus.BAD_REQUEST, "문자 발송에 필요한 보유 잔액이 부족 합니다.", "STAT_1060"); |
|
| 919 | 927 |
} |
| 920 | 928 |
|
| 921 | 929 |
|
... | ... | @@ -931,6 +939,8 @@ |
| 931 | 939 |
// 임시 |
| 932 | 940 |
List<String> nextMsgGroupIdA = new ArrayList<>(); |
| 933 | 941 |
// 대안: entrySet() 직접 사용 |
| 942 |
+ String apiMsgGroupId = ""; |
|
| 943 |
+ String apiMsgType = ""; |
|
| 934 | 944 |
for (Map.Entry<String, List<KakaoSendAdvcVO>> entry : priceGroupedMessages.entrySet()) {
|
| 935 | 945 |
// entry 사용 |
| 936 | 946 |
|
... | ... | @@ -940,6 +950,14 @@ |
| 940 | 950 |
groupedMsgList.forEach(t -> t.setMsgGroupId(nextMsgGroupId)); |
| 941 | 951 |
|
| 942 | 952 |
|
| 953 |
+ // api 전달 값 |
|
| 954 |
+ apiMsgGroupId = StringUtils.isNotEmpty(apiMsgGroupId) |
|
| 955 |
+ ? apiMsgGroupId + "," + nextMsgGroupId |
|
| 956 |
+ : nextMsgGroupId; |
|
| 957 |
+ |
|
| 958 |
+ apiMsgType = StringUtils.isNotEmpty(apiMsgType) |
|
| 959 |
+ ? apiMsgType + "," + kakaoSendAdvcListVO.get(0).getMsgType() |
|
| 960 |
+ : kakaoSendAdvcListVO.get(0).getMsgType(); |
|
| 943 | 961 |
// 발송 데이터 삽입 |
| 944 | 962 |
int instCnt = this.insertKakaoData_advc(groupedMsgList); |
| 945 | 963 |
// int instCnt = 6; |
... | ... | @@ -995,7 +1013,14 @@ |
| 995 | 1013 |
|
| 996 | 1014 |
} |
| 997 | 1015 |
|
| 1016 |
+ apiReturnMap.put("resultSts", instTotalCnt);
|
|
| 1017 |
+ // 그룹 ID |
|
| 1018 |
+ apiReturnMap.put("msgGroupId", apiMsgGroupId);
|
|
| 1019 |
+ // 메세지 타입 |
|
| 1020 |
+ apiReturnMap.put("msgType", apiMsgType);
|
|
| 1021 |
+ |
|
| 998 | 1022 |
returnMap.put("resultSts", instTotalCnt);
|
| 1023 |
+ |
|
| 999 | 1024 |
returnMap.put("reserYn", kakaoVO.getReserveYn());
|
| 1000 | 1025 |
returnMap.put("groupIds", nextMsgGroupIdA);
|
| 1001 | 1026 |
|
... | ... | @@ -1025,6 +1050,9 @@ |
| 1025 | 1050 |
|
| 1026 | 1051 |
statusResponse.setStatus(HttpStatus.OK); |
| 1027 | 1052 |
statusResponse.setObject(returnMap); |
| 1053 |
+ apiReturnMap.put("result", HttpStatus.OK);
|
|
| 1054 |
+ apiReturnMap.put("message", "전송이 완료되었습니다.");
|
|
| 1055 |
+ statusResponse.setApiReturn(apiReturnMap); |
|
| 1028 | 1056 |
|
| 1029 | 1057 |
return statusResponse; |
| 1030 | 1058 |
} |
... | ... | @@ -1061,7 +1089,8 @@ |
| 1061 | 1089 |
Float totPrice = eachPrice * instCnt; |
| 1062 | 1090 |
sendVO.setTotPrice(String.format("%.1f", totPrice));
|
| 1063 | 1091 |
|
| 1064 |
- sendVO.setAtDelayYn(kakaoVO.getAtSmishingYn()); |
|
| 1092 |
+ sendVO.setAtDelayYn(StringUtils.isEmpty(kakaoVO.getAtSmishingYn()) ? "N" : kakaoVO.getAtSmishingYn()); |
|
| 1093 |
+ sendVO.setSendKind(StringUtils.isEmpty(kakaoVO.getSendKind()) ? "H" : kakaoVO.getSendKind()); |
|
| 1065 | 1094 |
sendVO.setBizKakaoResendOrgnlTxt(kakaoVO.getSubMsgTxt()); |
| 1066 | 1095 |
sendVO.setBizKakaoResendType(sendVO.getSubMsgType()); |
| 1067 | 1096 |
|
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
... | ... | @@ -4139,7 +4139,7 @@ |
| 4139 | 4139 |
* */ |
| 4140 | 4140 |
if (!isCashSufficient(mjonMsgVO, mjonMsgSendVOList)) {
|
| 4141 | 4141 |
log.error("Insufficient balance for message sending.");
|
| 4142 |
- return new StatusResponse(HttpStatus.BAD_REQUEST, "문자 발송에 필요한 보유 잔액이 부족 합니다."); |
|
| 4142 |
+ return new StatusResponse(HttpStatus.BAD_REQUEST, "문자 발송에 필요한 보유 잔액이 부족 합니다.", "STAT_1060"); |
|
| 4143 | 4143 |
} |
| 4144 | 4144 |
|
| 4145 | 4145 |
System.out.println("==================== insert 시작 ====================");
|
--- src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_AT_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_AT_SQL_Mysql.xml
... | ... | @@ -139,6 +139,7 @@ |
| 139 | 139 |
BEF_POINT, |
| 140 | 140 |
|
| 141 | 141 |
TOT_PRICE, |
| 142 |
+ SEND_KIND, |
|
| 142 | 143 |
|
| 143 | 144 |
AT_DELAY_YN, |
| 144 | 145 |
BIZ_KAKAO_RESEND_ORGNL_TXT, |
... | ... | @@ -161,6 +162,7 @@ |
| 161 | 162 |
#befPoint#, |
| 162 | 163 |
|
| 163 | 164 |
#totPrice#, |
| 165 |
+ #sendKind#, |
|
| 164 | 166 |
|
| 165 | 167 |
#atDelayYn#, |
| 166 | 168 |
#bizKakaoResendOrgnlTxt#, |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -2319,6 +2319,7 @@ |
| 2319 | 2319 |
EVENT_YN, |
| 2320 | 2320 |
DELAY_YN, |
| 2321 | 2321 |
AT_DELAY_YN, |
| 2322 |
+ SEND_KIND, |
|
| 2322 | 2323 |
BIZ_KAKAO_RESEND_ORGNL_TXT, |
| 2323 | 2324 |
SUBJECT_CHK_YN |
| 2324 | 2325 |
) |
... | ... | @@ -2346,6 +2347,7 @@ |
| 2346 | 2347 |
#eventYn#, |
| 2347 | 2348 |
#delayYn#, |
| 2348 | 2349 |
#atDelayYn#, |
| 2350 |
+ #sendKind#, |
|
| 2349 | 2351 |
#kakaoSubMagOrgnlTxt#, |
| 2350 | 2352 |
#subjectChkYn# |
| 2351 | 2353 |
) |
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?