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