api 친구톡 완료
This commit is contained in:
parent
054ee00b6d
commit
c1defb3498
@ -336,30 +336,33 @@ public class KakaoVO extends MjonMsgVO{
|
||||
|
||||
public String ftToString() {
|
||||
StringBuilder sb = new StringBuilder("KakaoFTSendVO[");
|
||||
sb.append("\n senderKey=[").append(senderKey).append("]");
|
||||
sb.append("\n sendKind=[").append(getSendKind()).append("]");
|
||||
sb.append("\n , senderKey=[").append(senderKey).append("]");
|
||||
sb.append("\n , imageFileName=[").append(imageFileName).append("]");
|
||||
sb.append("\n , imageType=[").append(imageType).append("]");
|
||||
sb.append("\n , imgTitle=[").append(imgTitle).append("]");
|
||||
sb.append("\n , imgLink=[").append(imgLink).append("]");
|
||||
sb.append("\n , atchFileId=[").append(atchFileId).append("]");
|
||||
// sb.append("\n , imgTitle=[").append(imgTitle).append("]");
|
||||
// sb.append("\n , imgLink=[").append(imgLink).append("]");
|
||||
sb.append("\n , templateContent=[").append(templateContent).append("]");
|
||||
sb.append("\n , templateImageUrl=[").append(templateImageUrl).append("]");
|
||||
sb.append("\n , smsTxtArea=[").append(getSubMsgTxt()).append("]");
|
||||
sb.append("\n , subMsgSendYn=[").append(subMsgSendYn).append("]");
|
||||
sb.append("\n , subMsgTxtReplYn=[").append(subMsgTxtReplYn).append("]");
|
||||
sb.append("\n , subMsgType=[").append(subMsgType).append("]");
|
||||
// sb.append("\n , imgLink=[").append(imgLink).append("]");
|
||||
// sb.append("\n , smsTxtArea=[").append(getSubMsgTxt()).append("]");
|
||||
// sb.append("\n , subMsgSendYn=[").append(subMsgSendYn).append("]");
|
||||
// sb.append("\n , subMsgTxtReplYn=[").append(subMsgTxtReplYn).append("]");
|
||||
// sb.append("\n , subMsgType=[").append(subMsgType).append("]");
|
||||
sb.append("\n , subMsgTxt=[").append(subMsgTxt).append("]");
|
||||
sb.append("\n , subMsgSendYn=[").append(subMsgSendYn).append("]");
|
||||
sb.append("\n , reserveYn=[").append(getReserveYn()).append("]");
|
||||
sb.append("\n , menuTopTab=[").append(menuTopTab).append("]");
|
||||
sb.append("\n , bizJsonYn=[").append(bizJsonYn).append("]");
|
||||
sb.append("\n , senderKey=[").append(senderKey).append("]");
|
||||
// sb.append("\n , menuTopTab=[").append(menuTopTab).append("]");
|
||||
// sb.append("\n , bizJsonYn=[").append(bizJsonYn).append("]");
|
||||
sb.append("\n , callFrom=[").append(getCallFrom()).append("]");
|
||||
sb.append("\n , kakaoFtPrice=[").append(getEachPrice()).append("]");
|
||||
// sb.append("\n , kakaoFtPrice=[").append(getEachPrice()).append("]");
|
||||
sb.append("\n , reqDate=[").append(getReqDate()).append("]");
|
||||
sb.append("\n , spamStatus=[").append(getSpamStatus()).append("]");
|
||||
sb.append("\n , txtReplYn=[").append(getTxtReplYn()).append("]");
|
||||
sb.append("\n , atSmishingYn=[").append(getAtSmishingYn()).append("]");
|
||||
sb.append("\n , atDelayYn=[").append(getAtDelayYn()).append("]");
|
||||
sb.append("\n , filePath1=[").append(getFilePath1()).append("]");
|
||||
// sb.append("\n , spamStatus=[").append(getSpamStatus()).append("]");
|
||||
// sb.append("\n , txtReplYn=[").append(getTxtReplYn()).append("]");
|
||||
// sb.append("\n , atSmishingYn=[").append(getAtSmishingYn()).append("]");
|
||||
// sb.append("\n , atDelayYn=[").append(getAtDelayYn()).append("]");
|
||||
// sb.append("\n , filePath1=[").append(getFilePath1()).append("]");
|
||||
// sb.append("\n , tmpBtnSelect=[").append(getTmpBtnSelect()).append("]");
|
||||
StringBuilder btnListSb = new StringBuilder("[");
|
||||
if (buttonVOList != null && !buttonVOList.isEmpty()) {
|
||||
@ -389,4 +392,7 @@ public class KakaoVO extends MjonMsgVO{
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -80,20 +81,32 @@ public class KakaoFriendsTalkServiceImpl extends EgovAbstractServiceImpl implem
|
||||
log.info(" + kakaoVO.toString() :: [{}]", kakaoVO.ftToString());
|
||||
|
||||
|
||||
// if(1==1) {
|
||||
// throw new RuntimeException("강제로 발생시킨 예외");
|
||||
// }
|
||||
|
||||
// 측정할 메소드 호출 전 시간 기록
|
||||
Instant start = Instant.now();
|
||||
// KakaoSendAdvcVO
|
||||
|
||||
Map<String, Object> returnMap = new HashMap<>();
|
||||
Map<String, Object> apiReturnMap = new HashMap<>();
|
||||
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()
|
||||
? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser()
|
||||
: null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
String userId = "";
|
||||
if("A".equals(kakaoVO.getSendKind()))
|
||||
{
|
||||
userId = kakaoVO.getMberId();
|
||||
}else {
|
||||
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()
|
||||
? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser()
|
||||
: null;
|
||||
userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
if (userId.equals("")) {
|
||||
return new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용이 가능합니다.");
|
||||
}
|
||||
|
||||
if (userId.equals("")) {
|
||||
return new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용이 가능합니다.");
|
||||
}
|
||||
|
||||
kakaoVO.setUserId(userId);
|
||||
@ -106,7 +119,7 @@ public class KakaoFriendsTalkServiceImpl extends EgovAbstractServiceImpl implem
|
||||
request.getSession().invalidate();
|
||||
// UNAUTHORIZED : 인증되지 않은 사용자가 접근하려고 할 때
|
||||
return new StatusResponse(HttpStatus.UNAUTHORIZED,
|
||||
"현재 고객님께서는 문자온 서비스 이용이 정지된 상태로 친구톡을 발송하실 수 없습니다. 이용정지 해제를 원하시면 고객센터로 연락주시기 바랍니다.");
|
||||
"현재 고객님께서는 문자온 서비스 이용이 정지된 상태로 친구톡을 발송하실 수 없습니다. 이용정지 해제를 원하시면 고객센터로 연락주시기 바랍니다.", "STAT_1070");
|
||||
}
|
||||
|
||||
|
||||
@ -116,7 +129,7 @@ public class KakaoFriendsTalkServiceImpl extends EgovAbstractServiceImpl implem
|
||||
if(kakaoSendUtil.isRestrictedFriendTalkTime(kakaoSendUtil.resolveBaseDate(kakaoVO))) {
|
||||
// UNAUTHORIZED : 인증되지 않은 사용자가 접근하려고 할 때
|
||||
return new StatusResponse(HttpStatus.BAD_REQUEST,
|
||||
"친구톡은 20시 50분부터 익일 08시까지 발송이 제한됩니다.");
|
||||
"친구톡은 20시 50분부터 익일 08시까지 발송이 제한됩니다.","STAT_2080");
|
||||
}
|
||||
|
||||
|
||||
@ -140,11 +153,10 @@ public class KakaoFriendsTalkServiceImpl extends EgovAbstractServiceImpl implem
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** @전송금액 확인 --------------------------------------------------*/
|
||||
if (!kakaoSendUtil.isCashSufficient(userId, kakaoSendAdvcListVO)) {
|
||||
log.error("Insufficient balance for message sending.");
|
||||
return new StatusResponse(HttpStatus.BAD_REQUEST, "문자 발송에 필요한 보유 잔액이 부족 합니다.");
|
||||
return new StatusResponse(HttpStatus.BAD_REQUEST, "문자 발송에 필요한 보유 잔액이 부족 합니다.", "STAT_1060");
|
||||
}
|
||||
|
||||
|
||||
@ -162,6 +174,8 @@ public class KakaoFriendsTalkServiceImpl extends EgovAbstractServiceImpl implem
|
||||
// 임시
|
||||
List<String> nextMsgGroupIdA = new ArrayList<>();
|
||||
// 대안: entrySet() 직접 사용
|
||||
String apiMsgGroupId = "";
|
||||
String apiMsgType = "";
|
||||
for (Map.Entry<String, List<KakaoSendAdvcVO>> entry : priceGroupedMessages.entrySet()) {
|
||||
// entry 사용
|
||||
|
||||
@ -170,6 +184,14 @@ public class KakaoFriendsTalkServiceImpl extends EgovAbstractServiceImpl implem
|
||||
String nextMsgGroupId = idgenMjonMsgGroupId.getNextStringId();
|
||||
groupedMsgList.forEach(t -> t.setMsgGroupId(nextMsgGroupId));
|
||||
|
||||
// api 전달 값
|
||||
apiMsgGroupId = StringUtils.isNotEmpty(apiMsgGroupId)
|
||||
? apiMsgGroupId + "," + nextMsgGroupId
|
||||
: nextMsgGroupId;
|
||||
|
||||
apiMsgType = StringUtils.isNotEmpty(apiMsgType)
|
||||
? apiMsgType + "," + kakaoSendAdvcListVO.get(0).getMsgType()
|
||||
: kakaoSendAdvcListVO.get(0).getMsgType();
|
||||
|
||||
// 발송 데이터 삽입
|
||||
int instCnt = kakaoSendUtil.insertKakaoData_advc(groupedMsgList);
|
||||
@ -224,6 +246,12 @@ public class KakaoFriendsTalkServiceImpl extends EgovAbstractServiceImpl implem
|
||||
|
||||
}
|
||||
|
||||
apiReturnMap.put("resultSts", instTotalCnt);
|
||||
// 그룹 ID
|
||||
apiReturnMap.put("msgGroupId", apiMsgGroupId);
|
||||
// 메세지 타입
|
||||
apiReturnMap.put("msgType", apiMsgType);
|
||||
|
||||
returnMap.put("resultSts", instTotalCnt);
|
||||
returnMap.put("reserYn", kakaoVO.getReserveYn());
|
||||
returnMap.put("groupIds", nextMsgGroupIdA);
|
||||
@ -254,6 +282,9 @@ public class KakaoFriendsTalkServiceImpl extends EgovAbstractServiceImpl implem
|
||||
|
||||
statusResponse.setStatus(HttpStatus.OK);
|
||||
statusResponse.setObject(returnMap);
|
||||
apiReturnMap.put("result", HttpStatus.OK);
|
||||
apiReturnMap.put("message", "전송이 완료되었습니다.");
|
||||
statusResponse.setApiReturn(apiReturnMap);
|
||||
|
||||
return statusResponse;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user