친구톡 발송속도 및 발송결과
This commit is contained in:
parent
81d31fc55f
commit
d730bdd76e
File diff suppressed because it is too large
Load Diff
@ -300,7 +300,7 @@ public class KakaoSendUtil {
|
||||
//사용자 현재 보유 금액 불러오기(문자 발송 금액 차감 이전 금액)
|
||||
// String befCash = kakaoVO.getBefCash();
|
||||
|
||||
log.info(" [{}]", kakaoVO.ftToString());
|
||||
log.info("kakaoVO.ftToString() :: [{}]", kakaoVO.ftToString());
|
||||
|
||||
List<KakaoSendAdvcVO> kakaoSendAdvcListVO = new ArrayList<>();
|
||||
Calendar calendar = setupBaseDate(kakaoVO, isNotified);
|
||||
@ -310,6 +310,10 @@ public class KakaoSendUtil {
|
||||
String templateContent = kakaoVO.getTemplateContent();
|
||||
// 실패 대체 문자
|
||||
String subMsgTxt = kakaoVO.getSubMsgTxt();
|
||||
log.info(" + StringUtils.isNotEmpty(subMsgTxt) :: [{}]", StringUtils.isNotEmpty(subMsgTxt));
|
||||
if(StringUtils.isNotEmpty(subMsgTxt)) {
|
||||
kakaoVO.setSubMsgSendYn("Y");
|
||||
}
|
||||
|
||||
// 시스템 기본 단가 정보 불러오기
|
||||
JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
|
||||
@ -321,8 +325,6 @@ public class KakaoSendUtil {
|
||||
Boolean replaceYN = MsgSendUtils.getReplaceYN(templateContent);
|
||||
Boolean replaceSubYN = MsgSendUtils.getReplaceYN(subMsgTxt);
|
||||
|
||||
boolean hasPerformedMsgType = false; // 치환 문자가 없는 경우, 스팸 체크가 한 번만 수행되도록 제어
|
||||
|
||||
|
||||
/** @MSGID KEY값 */
|
||||
List<String> idList = mjonCommon.getNextCustomMsgCId(kakaoVO.getMjonFTSendVOList().size());
|
||||
@ -348,15 +350,13 @@ public class KakaoSendUtil {
|
||||
|
||||
|
||||
/** @jsonStr 필요유무 */
|
||||
boolean hasTitleOrButtons = CollectionUtils.isNotEmpty(kakaoVO.getButtonVOList());
|
||||
boolean hasButtons = CollectionUtils.isNotEmpty(kakaoVO.getButtonVOList());
|
||||
String sharedJsonStr = null;
|
||||
|
||||
|
||||
|
||||
List<MjonFTSendVO> mjonFTSendVOList = kakaoVO.getMjonFTSendVOList();
|
||||
|
||||
// 분할 건수 카운터
|
||||
int counter = 0;
|
||||
for (int i = 0; i < mjonFTSendVOList.size(); i++) {
|
||||
MjonFTSendVO mjonFTSendVO = mjonFTSendVOList.get(i);
|
||||
|
||||
@ -394,16 +394,18 @@ public class KakaoSendUtil {
|
||||
if(StringUtils.isNotEmpty(subMsgTxt)) {
|
||||
subMsgTxtTemp = subMsgTxt;
|
||||
|
||||
// 각 치환 구문을 확인하고 치환할 값이 없으면 오류 반환
|
||||
for (Map.Entry<String, Function<MjonFTSendVO, String>> entry : placeholders.entrySet()) {
|
||||
String placeholder = entry.getKey();
|
||||
String value = entry.getValue().apply(mjonFTSendVO);
|
||||
if (subMsgTxtTemp.contains(placeholder)) {
|
||||
if (StringUtils.isEmpty(value)) {
|
||||
statusResponseSet(statusResponse, HttpStatus.BAD_REQUEST, "치환 문구중 " + placeholder + " 데이터가 없습니다.");
|
||||
return null;
|
||||
if(replaceSubYN) {
|
||||
// 각 치환 구문을 확인하고 치환할 값이 없으면 오류 반환
|
||||
for (Map.Entry<String, Function<MjonFTSendVO, String>> entry : placeholders.entrySet()) {
|
||||
String placeholder = entry.getKey();
|
||||
String value = entry.getValue().apply(mjonFTSendVO);
|
||||
if (subMsgTxtTemp.contains(placeholder)) {
|
||||
if (StringUtils.isEmpty(value)) {
|
||||
statusResponseSet(statusResponse, HttpStatus.BAD_REQUEST, "치환 문구중 " + placeholder + " 데이터가 없습니다.");
|
||||
return null;
|
||||
}
|
||||
subMsgTxtTemp = subMsgTxtTemp.replace(placeholder, value);
|
||||
}
|
||||
subMsgTxtTemp = subMsgTxtTemp.replace(placeholder, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -423,7 +425,6 @@ public class KakaoSendUtil {
|
||||
|
||||
boolean isMms = "MMS".equals(sendType);
|
||||
sendVO.setEachPrice(isMms ? mmsPStr : shortPStr);
|
||||
sendVO.setSubMsgTxt(subMsgTxt);// 실패
|
||||
}else {
|
||||
kakaoFtPrice = getValidPrice(mberManageVO.getKakaoAtPrice(), sysJoinSetVO.getKakaoAtPrice());
|
||||
sendVO.setEachPrice( Float.toString(kakaoFtPrice) );
|
||||
@ -431,7 +432,7 @@ public class KakaoSendUtil {
|
||||
|
||||
|
||||
// 타이틀과 버튼이 있고
|
||||
if(hasTitleOrButtons) {
|
||||
if(hasButtons) {
|
||||
//
|
||||
if (StringUtils.isEmpty(sharedJsonStr)) {
|
||||
// 치환 데이터가 없고 아직 생성되지 않았으면 한 번만 생성
|
||||
@ -550,6 +551,7 @@ public class KakaoSendUtil {
|
||||
sendVO.setTemplateCode(kakaoVO.getTemplateCode());
|
||||
sendVO.setUserId(kakaoVO.getUserId());
|
||||
sendVO.setCallFrom(kakaoVO.getCallFrom());
|
||||
sendVO.setSubMsgSendYn(kakaoVO.getSubMsgSendYn());
|
||||
return sendVO;
|
||||
}
|
||||
|
||||
@ -1576,6 +1578,9 @@ public class KakaoSendUtil {
|
||||
// log.info(" + insertKakaoGroupDataTb_advc kakaoVO :: \n[{}]", kakaoVO.toString());;
|
||||
// log.info(" + insertKakaoGroupDataTb_advc kakaoSendAdvcVOList :: \n[{}]", sendVO.toString());
|
||||
|
||||
|
||||
|
||||
sendVO.setTemplateContent(kakaoVO.getTemplateContent());
|
||||
sendVO.setMsgGroupCnt(Integer.toString(instCnt));
|
||||
sendVO.setReserveYn(kakaoVO.getReserveYn());
|
||||
sendVO.setBefCash(priceAndPoint.getBefCash(sendVO.getUserId()));
|
||||
|
||||
@ -182,7 +182,6 @@ public class KakaoSentController {
|
||||
|
||||
//전체 발송 리스트 불러오기
|
||||
List<KakaoSentVO> resultAllSentList = kakaoSentService.selectAllKakaoSentList(kakaoSentVO);
|
||||
System.out.println("??");
|
||||
model.addAttribute("resultAllSentList", resultAllSentList);
|
||||
// model.addAttribute("resultAllSentCnt", resultAllSentList.size());
|
||||
|
||||
@ -890,22 +889,21 @@ public class KakaoSentController {
|
||||
KakaoReturnVO returnVO = new KakaoReturnVO();
|
||||
try {
|
||||
|
||||
String tmpContent = kakaoATVO.getSmsTxtTrans();
|
||||
String jsonFilePath = kakaoATVO.getBizKakaoJsonFile();
|
||||
String jsonContents = kakaoATVO.getContents();
|
||||
|
||||
//친구톡 이미지 또는 버튼 정보가 있다면 실행
|
||||
if(jsonFilePath != null && jsonFilePath.length() > 0) {
|
||||
if(jsonContents != null && jsonContents.length() > 0) {
|
||||
|
||||
FileReader reader = new FileReader(jsonFilePath);
|
||||
/*FileReader reader = new FileReader(jsonFilePath);
|
||||
int ch;
|
||||
String resultStr = "";
|
||||
while ((ch = reader.read()) != -1) {
|
||||
|
||||
resultStr = resultStr + (char)ch;
|
||||
}
|
||||
|
||||
*/
|
||||
JSONParser parser = new JSONParser();
|
||||
Object obj = parser.parse(resultStr);
|
||||
Object obj = parser.parse(jsonContents);
|
||||
JSONObject object = (JSONObject) obj;
|
||||
|
||||
String image = (object.get("image") == null) ? null : object.get("image").toString();
|
||||
@ -964,7 +962,7 @@ public class KakaoSentController {
|
||||
}
|
||||
|
||||
//친구톡 내용 셋팅
|
||||
returnVO.setTemplateContent(tmpContent);
|
||||
returnVO.setTemplateContent(kakaoATVO.getSmsTxt());
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@ -1037,42 +1035,50 @@ public class KakaoSentController {
|
||||
|
||||
|
||||
|
||||
//발송 관리 문자발송 내용 상세보기 팝업 => 문자내용(MJ_MSG_DATA)
|
||||
MjonKakaoATVO mjonKakaoATResultVO = kakaoSentService.selectKakaoSentDetailDataAjax(mjonKakaoATVO);
|
||||
// 대체문자 엔터키 치환
|
||||
mjonKakaoATResultVO.setSmsTxt(StringUtil2.replaceBR(mjonKakaoATResultVO.getSmsTxt()));
|
||||
model.addAttribute("resultMsgDetail", mjonKakaoATResultVO);
|
||||
try {
|
||||
|
||||
String msgType = mjonKakaoATResultVO.getMsgType();
|
||||
//발송 관리 문자발송 내용 상세보기 팝업 => 문자내용(MJ_MSG_DATA)
|
||||
MjonKakaoATVO mjonKakaoATResultVO = kakaoSentService.selectKakaoSentDetailDataAjax(mjonKakaoATVO);
|
||||
// 대체문자 엔터키 치환
|
||||
if(StringUtils.isNotEmpty(mjonKakaoATResultVO.getSmsTxt())) {
|
||||
mjonKakaoATResultVO.setSmsTxt(StringUtil2.replaceBR(mjonKakaoATResultVO.getSmsTxt()));
|
||||
}
|
||||
model.addAttribute("resultMsgDetail", mjonKakaoATResultVO);
|
||||
|
||||
String msgType = mjonKakaoATResultVO.getMsgType();
|
||||
|
||||
if(msgType.equals("8")) {//카카오 알림톡인 경우 상세정보 처리
|
||||
|
||||
// 템플릿 api 가져오기
|
||||
KakaoVO kakaoVO = new KakaoVO();
|
||||
kakaoVO.setSenderKey(mjonKakaoATResultVO.getMsgNoticetalkSenderKey());
|
||||
kakaoVO.setTemplateCode(mjonKakaoATResultVO.getMsgNoticetalkTmpKey());
|
||||
|
||||
KakaoReturnVO kakaoTemplateInfo =kakaoApiTemplate.selectKakaoApiTemplateDetail(kakaoVO);
|
||||
|
||||
model.addAttribute("kakaoTemplateInfo", kakaoTemplateInfo);
|
||||
// //템플릿 api 가져오기
|
||||
|
||||
}else if(msgType.equals("9")) {//카카오 친구톡인 경우 상세정보 처리
|
||||
|
||||
//String smsTxt = mjonKakaoATResultVO.getSmsTxt();
|
||||
|
||||
KakaoReturnVO kakaoTemplateInfo = getKakaoFTSendTemplateInfo(mjonKakaoATResultVO);
|
||||
//kakaoTemplateInfo.setTemplateContent(smsTxt);
|
||||
|
||||
model.addAttribute("kakaoTemplateInfo", kakaoTemplateInfo);
|
||||
|
||||
}else {
|
||||
|
||||
model.addAttribute("kakaoTemplateInfo", "");
|
||||
|
||||
}
|
||||
model.addAttribute("msgType", msgType);
|
||||
|
||||
if(msgType.equals("8")) {//카카오 알림톡인 경우 상세정보 처리
|
||||
|
||||
// 템플릿 api 가져오기
|
||||
KakaoVO kakaoVO = new KakaoVO();
|
||||
kakaoVO.setSenderKey(mjonKakaoATResultVO.getMsgNoticetalkSenderKey());
|
||||
kakaoVO.setTemplateCode(mjonKakaoATResultVO.getMsgNoticetalkTmpKey());
|
||||
|
||||
KakaoReturnVO kakaoTemplateInfo =kakaoApiTemplate.selectKakaoApiTemplateDetail(kakaoVO);
|
||||
|
||||
model.addAttribute("kakaoTemplateInfo", kakaoTemplateInfo);
|
||||
// //템플릿 api 가져오기
|
||||
|
||||
}else if(msgType.equals("9")) {//카카오 친구톡인 경우 상세정보 처리
|
||||
|
||||
//String smsTxt = mjonKakaoATResultVO.getSmsTxt();
|
||||
|
||||
KakaoReturnVO kakaoTemplateInfo = getKakaoFTSendTemplateInfo(mjonKakaoATResultVO);
|
||||
//kakaoTemplateInfo.setTemplateContent(smsTxt);
|
||||
|
||||
model.addAttribute("kakaoTemplateInfo", kakaoTemplateInfo);
|
||||
|
||||
}else {
|
||||
|
||||
model.addAttribute("kakaoTemplateInfo", "");
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
// TODO: handle exception
|
||||
}
|
||||
|
||||
model.addAttribute("msgType", msgType);
|
||||
return "web/kakao/sent/KakaoSentDetailPopAjax";
|
||||
}
|
||||
}
|
||||
|
||||
@ -909,7 +909,7 @@
|
||||
|
||||
<!-- 발신 내용 상세보기 조회 (상세보기 버튼 클릭시)-->
|
||||
<select id="KakaoSentDAO.selectKakaoSentDetailDataAjax" parameterClass="mjonKakaoATVO" resultClass="mjonKakaoATVO">
|
||||
|
||||
/* KakaoSentDAO.selectKakaoSentDetailDataAjax */
|
||||
SELECT
|
||||
MGD.MSG_GROUP_ID as msgGroupId
|
||||
, MGD.USER_ID as userId
|
||||
@ -925,9 +925,12 @@
|
||||
, MD.BIZ_KAKAO_RESEND_DATA as bizKakaoResendData /* 대체 문자 (치환O) */
|
||||
, MGD.BIZ_KAKAO_RESEND_ORGNL_TXT as bizKakaoResendOrgnlTxt /* 대체 문자( 치환X ) */
|
||||
, MD.BIZ_KAKAO_JSON_FILE as bizKakaoJsonFile /* Json 파일 경로 */
|
||||
, BA.CONTENTS as contents
|
||||
FROM MJ_MSG_GROUP_DATA MGD
|
||||
INNER JOIN MJ_MSG_DATA MD
|
||||
ON MGD.MSG_GROUP_ID = MD.MSG_GROUP_ID
|
||||
LEFT JOIN BIZ_ATTACHMENTS BA
|
||||
ON MD.BIZ_KAKAO_JSON_FILE = BA.MSG_KEY
|
||||
AND MGD.USER_ID = MD.USER_ID
|
||||
WHERE
|
||||
MGD.USER_ID = #userId#
|
||||
|
||||
Loading…
Reference in New Issue
Block a user