친구톡 발송 처리 1차 개발 완료
- json 파일 생성 제외 전송 부분 완료 - 환불 처리 미 적용
This commit is contained in:
parent
2627b4a1c7
commit
eb1d385d15
@ -150,6 +150,134 @@ public class KakaoSendUtil {
|
||||
return kakaoVO;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Method Name : kakaoFTSendPrice
|
||||
* @작성일 : 2024. 1. 17.
|
||||
* @작성자 : WYH
|
||||
* @Method 설명 : 카카오 친구톡 전송 가격 설정
|
||||
*/
|
||||
public KakaoVO kakaoFTSendPrice(KakaoVO kakaoVO) throws Exception {
|
||||
|
||||
//사용자 현재 보유 금액 불러오기(문자 발송 금액 차감 이전 금액)
|
||||
String befCash = kakaoVO.getBefCash();
|
||||
|
||||
//VO에서 현재 보유금액이 없으면 디비에서 조회해서 불러옴
|
||||
if("".equals(befCash) || befCash == null) {
|
||||
|
||||
}
|
||||
MjonMsgVO mjonMsgVO = new MjonMsgVO();
|
||||
mjonMsgVO.setUserId(kakaoVO.getUserId());
|
||||
String userMoney = mjonMsgDataService.selectBeforeCashData(mjonMsgVO);
|
||||
String userPoint = mjonMsgDataService.selectBeforePointData(mjonMsgVO);
|
||||
|
||||
//1.시스템 기본 단가 정보 불러오기
|
||||
JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
|
||||
|
||||
//2.사용자 개인 단가 정보 불러오기
|
||||
MberManageVO mberManageVO = mjonMsgDataService.selectMberManageInfo(kakaoVO.getUserId());
|
||||
Float kakaoFtPrice = mberManageVO.getKakaoFtPrice();
|
||||
|
||||
/** 대체문자 여부 체크(있으면 대체문자 가격으로 없으면 카카오톡 가격으로) */
|
||||
//대체문자 발송 여부 확인
|
||||
if(kakaoVO.getSubMsgSendYn().equals("Y")) {
|
||||
|
||||
|
||||
String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산
|
||||
int callToCnt = kakaoVO.getCallToList().length;
|
||||
String sendType = "";
|
||||
|
||||
for(int count =0; count < callToCnt; count++) {
|
||||
String tempSubMagTxt = kakaoVO.getSubMsgTxt().replace("\r\n", "\n");
|
||||
if(kakaoVO.getSubMsgTxtReplYn().equals("Y")) {
|
||||
tempSubMagTxt = kakaoFTSubMagTxtRepl(tempSubMagTxt, kakaoVO, count);
|
||||
}
|
||||
int bytes = tempSubMagTxt.getBytes(charset).length;
|
||||
|
||||
if(bytes < 2000) {
|
||||
if(bytes > 90) {
|
||||
sendType = "MMS";
|
||||
break;
|
||||
}else {
|
||||
sendType = "SMS";
|
||||
}
|
||||
}else {
|
||||
kakaoVO.setResultCode("2000");
|
||||
return kakaoVO;
|
||||
}
|
||||
}
|
||||
|
||||
if(sendType.equals("MMS")) {
|
||||
//협의 단가가 없으면 시스템 단가로 지정
|
||||
if(mberManageVO.getLongPrice() < 1) {
|
||||
kakaoFtPrice = sysJoinSetVO.getLongPrice();
|
||||
|
||||
kakaoVO.setSmsPrice(sysJoinSetVO.getShortPrice());
|
||||
kakaoVO.setMmsPrice(sysJoinSetVO.getLongPrice());
|
||||
kakaoVO.setKakaoFtPrice(sysJoinSetVO.getKakaoFtPrice());
|
||||
}else {
|
||||
kakaoFtPrice = mberManageVO.getLongPrice();
|
||||
|
||||
kakaoVO.setSmsPrice(mberManageVO.getShortPrice());
|
||||
kakaoVO.setMmsPrice(mberManageVO.getLongPrice());
|
||||
|
||||
if(mberManageVO.getKakaoFtPrice() < 1) {
|
||||
kakaoVO.setKakaoFtPrice(sysJoinSetVO.getKakaoFtPrice());
|
||||
}else {
|
||||
kakaoVO.setKakaoFtPrice(mberManageVO.getKakaoFtPrice());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
//협의 단가가 없으면 시스템 단가로 지정
|
||||
if(mberManageVO.getShortPrice() < 1) {
|
||||
kakaoFtPrice = sysJoinSetVO.getShortPrice();
|
||||
|
||||
kakaoVO.setSmsPrice(sysJoinSetVO.getShortPrice());
|
||||
kakaoVO.setMmsPrice(sysJoinSetVO.getLongPrice());
|
||||
kakaoVO.setKakaoFtPrice(sysJoinSetVO.getKakaoFtPrice());
|
||||
}else {
|
||||
kakaoFtPrice = mberManageVO.getShortPrice();
|
||||
|
||||
kakaoVO.setSmsPrice(mberManageVO.getShortPrice());
|
||||
kakaoVO.setMmsPrice(mberManageVO.getLongPrice());
|
||||
|
||||
if(mberManageVO.getKakaoFtPrice() < 1) {
|
||||
kakaoVO.setKakaoFtPrice(sysJoinSetVO.getKakaoFtPrice());
|
||||
}else {
|
||||
kakaoVO.setKakaoFtPrice(mberManageVO.getKakaoFtPrice());
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
|
||||
if(kakaoFtPrice < 1) { //협의 단가가 없으면 시스템 단가로 지정
|
||||
kakaoFtPrice = sysJoinSetVO.getKakaoFtPrice();
|
||||
|
||||
kakaoVO.setSmsPrice(sysJoinSetVO.getShortPrice());
|
||||
kakaoVO.setMmsPrice(sysJoinSetVO.getLongPrice());
|
||||
kakaoVO.setKakaoFtPrice(sysJoinSetVO.getKakaoFtPrice());
|
||||
}else {
|
||||
kakaoVO.setSmsPrice(mberManageVO.getShortPrice());
|
||||
kakaoVO.setMmsPrice(mberManageVO.getLongPrice());
|
||||
kakaoVO.setKakaoFtPrice(mberManageVO.getKakaoFtPrice());
|
||||
}
|
||||
}
|
||||
|
||||
/** 전송인원 확인*/
|
||||
int totCallCnt = kakaoVO.getCallToList().length;
|
||||
Float kakaoTotPrice = totCallCnt * kakaoFtPrice; // 총결제 금액 = 총 전송수량 * 카카오 친구톡 단가
|
||||
String totPrice = kakaoTotPrice.toString();
|
||||
System.out.println("@@@@@@@ : "+kakaoTotPrice +" = "+totCallCnt+" * "+kakaoFtPrice);
|
||||
|
||||
kakaoVO.setEachPrice(kakaoFtPrice.toString());
|
||||
kakaoVO.setBefCash(userMoney); // 고객 충전금액
|
||||
kakaoVO.setBefPoint(userPoint); // 고객 충전 포인트
|
||||
kakaoVO.setTotPrice(totPrice); // 총 카카오 전송 금액
|
||||
|
||||
return kakaoVO;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @methodName : selectSendPriceOfKakaoAtAndSmsAndMms
|
||||
* @author : 이호영
|
||||
@ -287,6 +415,84 @@ public class KakaoSendUtil {
|
||||
return kakaoVO;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Method Name : kakaoFTSendMsg
|
||||
* @작성일 : 2024. 1. 17.
|
||||
* @작성자 : 우영두
|
||||
* @Method 설명 : 카카오 친톡 전송 메세지 설정
|
||||
*/
|
||||
public KakaoVO kakaoFTSendMsg(KakaoVO kakaoVO) throws Exception {
|
||||
List<KakaoVO> kakaoSendList = new ArrayList<KakaoVO>();
|
||||
//전체 받는사람 수량만큼 반복 확인
|
||||
int callToCnt = kakaoVO.getCallToList().length;
|
||||
try {
|
||||
for(int count =0; count < callToCnt; count++) {
|
||||
|
||||
KakaoVO setSendMsgVO = new KakaoVO();
|
||||
|
||||
setSendMsgVO.setDestPhone(kakaoVO.getCallToList()[count]); // 수신 번호
|
||||
// 카카오 전송내용 설정
|
||||
// 변환문자 포함(Y), 미포함(N)
|
||||
if(kakaoVO.getTxtReplYn().equals("Y")) {
|
||||
|
||||
String templateContent = kakaoFTSubMagTxtRepl(kakaoVO.getTemplateContent(), kakaoVO, count);
|
||||
setSendMsgVO.setTemplateContent(templateContent);
|
||||
|
||||
}else {
|
||||
|
||||
// 템플릿 내용 설정
|
||||
setSendMsgVO.setTemplateContent(kakaoVO.getTemplateContent());
|
||||
}
|
||||
|
||||
//대체문자 포함(Y), 미포함(N)
|
||||
if(kakaoVO.getSubMsgSendYn().equals("Y")) {
|
||||
|
||||
String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산
|
||||
|
||||
String tempSubMagTxt = kakaoVO.getSubMsgTxt().replace("\r\n", "\n");
|
||||
kakaoVO.setKakaoSubMagOrgnlTxt(tempSubMagTxt);
|
||||
if(kakaoVO.getSubMsgTxtReplYn().equals("Y")) {
|
||||
tempSubMagTxt = kakaoFTSubMagTxtRepl(tempSubMagTxt, kakaoVO, count);
|
||||
}
|
||||
|
||||
setSendMsgVO.setSubMsgTxt(tempSubMagTxt);
|
||||
|
||||
int FrBytes = tempSubMagTxt.getBytes(charset).length;
|
||||
|
||||
//메세지 길이가 90Byte가 초과시 MMS
|
||||
if(FrBytes > 90) {
|
||||
setSendMsgVO.setSubMsgType("MMS");
|
||||
}else {// 아니면 SMS
|
||||
setSendMsgVO.setSubMsgType("SMS");
|
||||
}
|
||||
}
|
||||
|
||||
if(kakaoVO.getBizJsonYn().equals("Y")) {
|
||||
kakaoVO.setDestPhone(kakaoVO.getCallToList()[count]); // 수신 번호
|
||||
|
||||
String[] varValInfo = null;
|
||||
if( kakaoVO.getVarValList().size() != 0) {
|
||||
varValInfo = kakaoVO.getVarValList().get(count);
|
||||
}
|
||||
String jsonFileName = kakaoApiJsonSave.kakaoApiJsonSave(kakaoVO, varValInfo);
|
||||
// String jsonFileName = kakaoApiJsonSave.kakaoApiJsonSave(kakaoVO, kakaoVO.getVarValList().get(count));
|
||||
setSendMsgVO.setBizJsonName(jsonFileName); //json 파일명
|
||||
}
|
||||
|
||||
kakaoSendList.add(setSendMsgVO);
|
||||
}
|
||||
kakaoVO.setKakaoSendList(kakaoSendList);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return kakaoVO;
|
||||
}
|
||||
|
||||
|
||||
public String kakaoSendMsgTest(KakaoVO kakaoVO) throws Exception {
|
||||
String templateContent = "";
|
||||
try {
|
||||
@ -343,6 +549,15 @@ public class KakaoSendUtil {
|
||||
return tempSubMagTxt;
|
||||
}
|
||||
|
||||
public String kakaoFTSubMagTxtRepl(String tempSubMagTxt, KakaoVO kakaoVO, int count) throws Exception{
|
||||
|
||||
List<String[]> varValList = kakaoVO.getVarValList();
|
||||
|
||||
tempSubMagTxt = getKakaoFTCntReplace(varValList.get(count)[0], tempSubMagTxt);
|
||||
|
||||
return tempSubMagTxt;
|
||||
}
|
||||
|
||||
/*
|
||||
* 카카오 친구톡 치환 내용에 대한 변환 처리
|
||||
*
|
||||
|
||||
@ -15,6 +15,9 @@ public interface KakaoAlimTalkService {
|
||||
|
||||
//카카오 알림톡 발신
|
||||
public MjonMsgReturnVO insertKakaoAtSandAjax(KakaoVO kakaoVO) throws Exception;
|
||||
|
||||
//카카오 친구톡 발신
|
||||
public MjonMsgReturnVO insertKakaoFtSendAjax(KakaoVO kakaoVO) throws Exception;
|
||||
|
||||
//카카오 알림톡 전송 실패 환불리스트 조회
|
||||
public void selectKakaoAtSentRefundList() throws Exception;
|
||||
|
||||
@ -331,6 +331,267 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
|
||||
}
|
||||
return returnVO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//카카오 친구톡 발신
|
||||
@Override
|
||||
public MjonMsgReturnVO insertKakaoFtSendAjax(KakaoVO kakaoVO) throws Exception {
|
||||
|
||||
MjonMsgReturnVO returnVO = new MjonMsgReturnVO();
|
||||
try {
|
||||
String agentCode = "04"; // 다우기술 agent 코드 고정
|
||||
String msgType = "9"; // 카카오 알림톡 전송 코드 : 8번
|
||||
|
||||
int totCnt = 1; // 문자 리스트 추가 수량
|
||||
int resultCnt = 0; // 최종전송 수량
|
||||
int callToCnt = kakaoVO.getCallToList().length; // 전체 받는사람 건수
|
||||
|
||||
//Controller에서 전달 받은 분할 시간 정보 리스트
|
||||
List<String> dividDayList = kakaoVO.getDividDay();
|
||||
//String sendTime = kakaoVO.getReqDate();
|
||||
String[] phoneList = kakaoVO.getCallToList(); //받는사람 연락처 리스트
|
||||
|
||||
//카카오 알림톡 전송 리스트
|
||||
List<KakaoVO> kakaoFtSendList = new ArrayList<KakaoVO>();
|
||||
|
||||
/** 카카오 알림톡 전송 리스트 생성 (시작)-------------------------------------------*/
|
||||
for(int i = 0; i < callToCnt; i++) {
|
||||
|
||||
KakaoVO kakaoSandInfo = new KakaoVO(); // 전송설정VO
|
||||
|
||||
kakaoSandInfo.setMsgId(idgenMsgId.getNextStringId()); // 문자 Id 설정
|
||||
kakaoSandInfo.setMsgGroupId(kakaoVO.getMsgGroupId()); // 문자 그룹ID 설정
|
||||
kakaoSandInfo.setUserId(kakaoVO.getUserId()); // 사용자 ID
|
||||
kakaoSandInfo.setAgentCode(agentCode); // 전송 agent 설정
|
||||
|
||||
kakaoSandInfo.setSenderKey(kakaoVO.getSenderKey());
|
||||
kakaoSandInfo.setTemplateCode(kakaoVO.getTemplateCode());
|
||||
|
||||
|
||||
kakaoSandInfo.setCallTo(phoneList[i]); // 받는사람 전화번호
|
||||
kakaoSandInfo.setCallFrom(kakaoVO.getCallFrom()); // 보내는사람 전화전호
|
||||
kakaoSandInfo.setMsgType(msgType); // 문자전송 타입 설정
|
||||
|
||||
|
||||
List<KakaoVO> kakaoSendMsgList = kakaoVO.getKakaoSendList();
|
||||
/**문자내용 치환 처리 (시작) --------------------------------------------*/
|
||||
kakaoSandInfo.setTemplateContent(kakaoSendMsgList.get(i).getTemplateContent()); //템플릿 내용 또는 치환 템플릿 내용
|
||||
/**문자내용 치환 처리 (끝) ---------------------------------------------*/
|
||||
|
||||
kakaoSandInfo.setTemplateTitle(kakaoSendMsgList.get(i).getTemplateTitle());
|
||||
|
||||
/**json파일 여부 (시작) --------------------------------------------*/
|
||||
kakaoSandInfo.setBizJsonYn(kakaoVO.getBizJsonYn());
|
||||
if(kakaoVO.getBizJsonYn().equals("Y")){
|
||||
kakaoSandInfo.setBizJsonName(kakaoSendMsgList.get(i).getBizJsonName());
|
||||
}
|
||||
/**json파일 여부 (끝) ---------------------------------------------*/
|
||||
|
||||
/**대체문자 처리 (시작) --------------------------------------------*/
|
||||
kakaoSandInfo.setSubMsgSendYn(kakaoVO.getSubMsgSendYn()); // 대체문자 전송여부 설정
|
||||
if(kakaoVO.getSubMsgSendYn().equals("Y")) {
|
||||
kakaoSandInfo.setSubMsgType(kakaoSendMsgList.get(i).getSubMsgType()); // 대체문자 전송 타입
|
||||
kakaoSandInfo.setSubMsgTxt(kakaoSendMsgList.get(i).getSubMsgTxt()); // 대체문자 전송 내용
|
||||
}
|
||||
/**대체문자 처리 (끝) ---------------------------------------------*/
|
||||
|
||||
/**전송시간 설정 (시작)------------------------------------------------*/
|
||||
if(!kakaoVO.getReserveYn().equals("N")) {
|
||||
/** 예약 발송 설정 */
|
||||
//분할 발송을 체크 한 경우
|
||||
if(kakaoVO.getDivideChk().equals("Y")) {
|
||||
|
||||
kakaoSandInfo.setReqDate(dividDayList.get(i)); //분할 문자 예약 시간 입력해주기
|
||||
|
||||
}else {
|
||||
|
||||
kakaoSandInfo.setReqDate(kakaoVO.getReqDate());
|
||||
|
||||
}
|
||||
}else {
|
||||
/** 즉시 발송 설정 */
|
||||
Date now = new Date();
|
||||
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||
kakaoVO.setReqDate(sdFormat.format(now));
|
||||
kakaoSandInfo.setReqDate(sdFormat.format(now));
|
||||
|
||||
}
|
||||
|
||||
if(kakaoVO.getAtSmishingYn().equals("Y")) {
|
||||
String sandDate = "";
|
||||
|
||||
if(kakaoVO.getDivideChk().equals("Y")) {
|
||||
//분할 문자 예약 시간 입력해주기
|
||||
sandDate = dividDayList.get(i);
|
||||
}else {
|
||||
//예약 시간 입력해주기
|
||||
sandDate = kakaoVO.getReqDate();
|
||||
}
|
||||
|
||||
if(!kakaoVO.getReserveYn().equals("N")) {
|
||||
/** 예약 발송 설정 */
|
||||
if (i == 0) {
|
||||
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||
Date date = sdFormat.parse(sandDate);
|
||||
|
||||
Calendar cal1 = Calendar.getInstance();
|
||||
cal1.setTime(date); // 시간 설정
|
||||
cal1.add(Calendar.MINUTE, 30); // 30분 연산
|
||||
|
||||
String reqDate = sdFormat.format(cal1.getTime());
|
||||
|
||||
System.out.println("@@@@@@@@@@@@@@ reqDate : "+reqDate);
|
||||
kakaoVO.setReqDate(reqDate);
|
||||
kakaoSandInfo.setReqDate(reqDate);
|
||||
}
|
||||
else {
|
||||
if(kakaoVO.getDivideChk().equals("Y")) {
|
||||
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||
Date date = sdFormat.parse(sandDate);
|
||||
|
||||
Calendar cal1 = Calendar.getInstance();
|
||||
cal1.setTime(date); // 시간 설정
|
||||
cal1.add(Calendar.MINUTE, 30); // 30분 연산
|
||||
|
||||
String reqDate = sdFormat.format(cal1.getTime());
|
||||
|
||||
System.out.println("@@@@@@@@@@@@@@ reqDate : "+reqDate);
|
||||
kakaoVO.setReqDate(reqDate);
|
||||
kakaoSandInfo.setReqDate(reqDate);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
/** 즉시 발송 설정 */
|
||||
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||
Date date = sdFormat.parse(sandDate);
|
||||
|
||||
Calendar cal1 = Calendar.getInstance();
|
||||
cal1.setTime(date); // 시간 설정
|
||||
cal1.add(Calendar.MINUTE, 30); // 30분 연산
|
||||
|
||||
String reqDate = sdFormat.format(cal1.getTime());
|
||||
|
||||
System.out.println("@@@@@@@@@@@@@@ reqDate : "+reqDate);
|
||||
kakaoVO.setReqDate(reqDate);
|
||||
kakaoSandInfo.setReqDate(reqDate);
|
||||
}
|
||||
}
|
||||
|
||||
/**전송시간 설정 (끝)------------------------------------------------*/
|
||||
|
||||
/**카카오 전송 데이터 추가*/
|
||||
kakaoFtSendList.add(kakaoSandInfo);
|
||||
|
||||
|
||||
int instCnt = 0; // DB등록 완료 수량
|
||||
//지금까지 루프 돌아간 것이 전체 수신자 갯수와 같으면 추가가 완료된 것으로 판단 되어 전송 해줌
|
||||
if(totCnt == callToCnt) {
|
||||
|
||||
if(kakaoFtSendList.size() > 0) {
|
||||
instCnt = kakaoAlimTalkDAO.insertKakaoAtDataInfo(kakaoFtSendList);
|
||||
}
|
||||
//총 디비 입력 건수 저장하기
|
||||
resultCnt = resultCnt + instCnt;
|
||||
|
||||
}else {
|
||||
|
||||
}
|
||||
totCnt++;
|
||||
|
||||
}
|
||||
/** 카카오 알림톡 전송 리스트 (종료)-------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. 문자 발송 캐시 차감 ----------------------------------------------
|
||||
* 2. 문자 그룹 테이블 등록 --------------------------------------------
|
||||
*/
|
||||
|
||||
//문자 발송 캐시 차감 해주기
|
||||
MjonPayVO mjonPayVO = new MjonPayVO();
|
||||
|
||||
MjonMsgVO mjonMsgVO = new MjonMsgVO();
|
||||
|
||||
//1건 이상 발송이 있는 경우만 캐쉬를 차감 시킨다.
|
||||
//문자 발송 그룹 데이블에 추가
|
||||
if(resultCnt > 0) {
|
||||
|
||||
|
||||
/** 발송 캐시 차감---------------------------------------------*/
|
||||
|
||||
|
||||
int totSendCnt = kakaoVO.getCallToList().length;
|
||||
Float eachPrice = Float.parseFloat(kakaoVO.getEachPrice());
|
||||
Float totPrice = eachPrice * resultCnt;
|
||||
String strTotPrice = String.format("%.1f", totPrice);
|
||||
|
||||
mjonMsgVO.setTotPrice(strTotPrice);//현재 합산 금액 셋팅
|
||||
mjonPayVO.setCashId(idgenMjonCashId.getNextStringId());
|
||||
mjonPayVO.setUserId(kakaoVO.getUserId());
|
||||
mjonPayVO.setCash(-Float.parseFloat(strTotPrice));
|
||||
mjonPayVO.setFrstRegisterId(kakaoVO.getUserId());
|
||||
mjonPayVO.setMemo("카카오 친구톡 총 "+totSendCnt+"건 중 " + resultCnt + "건 발송");
|
||||
mjonPayVO.setMsgGroupId(kakaoVO.getMsgGroupId());
|
||||
|
||||
|
||||
mjonPayService.insertCash(mjonPayVO); //캐시차감
|
||||
mjonPayService.updateMemberCash(mjonPayVO); //회원정보 업데이트
|
||||
|
||||
/** 그룹 테이블 등록-------------------------------------------*/
|
||||
|
||||
mjonMsgVO.setUserId(kakaoVO.getUserId());
|
||||
mjonMsgVO.setMsgGroupId(kakaoVO.getMsgGroupId());
|
||||
mjonMsgVO.setCallFrom(kakaoVO.getCallFrom());
|
||||
mjonMsgVO.setSmsTxt(kakaoVO.getTemplateContent());
|
||||
mjonMsgVO.setReqDate(kakaoVO.getReqDate());
|
||||
mjonMsgVO.setMsgGroupCnt(Integer.toString(resultCnt));
|
||||
mjonMsgVO.setMsgType(msgType);
|
||||
mjonMsgVO.setAgentCode(agentCode);
|
||||
mjonMsgVO.setEachPrice(kakaoVO.getEachPrice());
|
||||
mjonMsgVO.setReserveYn(kakaoVO.getReserveYn());
|
||||
mjonMsgVO.setBefCash(kakaoVO.getBefCash());
|
||||
mjonMsgVO.setBefPoint(kakaoVO.getBefPoint());
|
||||
mjonMsgVO.setKakaoSubMagOrgnlTxt(kakaoVO.getKakaoSubMagOrgnlTxt());
|
||||
mjonMsgVO.setAtDelayYn(kakaoVO.getAtSmishingYn());
|
||||
|
||||
|
||||
if(kakaoVO.getBizJsonYn().equals("Y")) {
|
||||
mjonMsgVO.setFileCnt("1");
|
||||
}else {
|
||||
mjonMsgVO.setFileCnt("0");
|
||||
}
|
||||
|
||||
mjonMsgVO.setDelayYn(kakaoVO.getDelayYn());
|
||||
|
||||
// 등록되어있는 그룹데이터가 있는지 조회
|
||||
int msgGroupDataCnt = mjonMsgDAO.selectMsgGroupDataCntByGroupId(mjonMsgVO);
|
||||
|
||||
// 등록되어 있는 그룹데이터가 없으면 insert, 있으면 update를 진행한다.
|
||||
if(msgGroupDataCnt < 1) {
|
||||
mjonMsgDAO.insertGroupMsgData(mjonMsgVO);
|
||||
kakaoAlimTalkDAO.insertKakaoSendPrice(kakaoVO);
|
||||
}else {
|
||||
mjonMsgDAO.updateMsgGroupDataForTotCntSum(mjonMsgVO);
|
||||
}
|
||||
}
|
||||
|
||||
returnVO.setSendMsgCnt(Integer.toString(resultCnt));
|
||||
|
||||
} catch (Exception e) {
|
||||
// 실패
|
||||
returnVO.setSendMsgCnt(Integer.toString(0)); //발송 건수 저장
|
||||
returnVO.setSendMsgBlockCnt(Integer.toString(0)); //수신차단 건수 저장
|
||||
returnVO.setAgentCode("01");
|
||||
|
||||
System.out.println("=========================================================================");
|
||||
System.out.println("+++++++++++++++++++++++++++++ 문자발송 ==> insertMsgDataInfo ERROR !!! : " + e);
|
||||
System.out.println("=========================================================================");
|
||||
return returnVO;
|
||||
}
|
||||
return returnVO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void selectKakaoAtSentRefundList() throws Exception {
|
||||
|
||||
@ -4,11 +4,13 @@ import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import itn.com.cmm.EgovMessageSource;
|
||||
import itn.com.cmm.LoginVO;
|
||||
@ -26,16 +29,22 @@ import itn.let.kakao.kakaoComm.KakaoButtonVO;
|
||||
import itn.let.kakao.kakaoComm.KakaoSendUtil;
|
||||
import itn.let.kakao.kakaoComm.KakaoVO;
|
||||
import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService;
|
||||
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService;
|
||||
import itn.let.kakao.user.kakaoFt.service.KakaoFriendsTalkTemplateService;
|
||||
import itn.let.mjo.msgdata.service.MjonMsgDataService;
|
||||
import itn.let.mjo.msgdata.service.MjonMsgDataVO;
|
||||
import itn.let.mjo.msgdata.service.MjonMsgReturnVO;
|
||||
import itn.let.mjo.symbol.service.MjonSymbolService;
|
||||
import itn.let.mjo.symbol.service.MjonSymbolVO;
|
||||
import itn.let.uss.umt.service.EgovUserManageService;
|
||||
import itn.let.uss.umt.service.MberManageVO;
|
||||
|
||||
@Controller
|
||||
public class KakaoFriendsTalkSendController {
|
||||
|
||||
@Resource(name = "egovMjonMsgGroupIdGnrService")
|
||||
private EgovIdGnrService idgenMjonMsgGroupId;
|
||||
|
||||
/** EgovMessageSource */
|
||||
@Resource(name="egovMessageSource")
|
||||
EgovMessageSource egovMessageSource;
|
||||
@ -52,6 +61,13 @@ public class KakaoFriendsTalkSendController {
|
||||
@Resource(name = "kakaoFriendsTalkTemplateService")
|
||||
private KakaoFriendsTalkTemplateService kakaoFtTemplateService;
|
||||
|
||||
/** userManageService */
|
||||
@Resource(name = "userManageService")
|
||||
private EgovUserManageService userManageService;
|
||||
|
||||
@Resource(name = "kakaoAlimTalkService")
|
||||
private KakaoAlimTalkService kakaoAlimTalkService;
|
||||
|
||||
@Autowired
|
||||
KakaoSendUtil kakaoSendUtil;
|
||||
|
||||
@ -148,13 +164,8 @@ public class KakaoFriendsTalkSendController {
|
||||
KakaoVO resultTemplateVO = new KakaoVO();
|
||||
|
||||
if(friendId != null) {
|
||||
|
||||
System.out.println("+++++++++++++++++++++++ friendId ::: "+friendId);
|
||||
|
||||
resultTemplateVO = kakaoFtTemplateService.selectKakaoFriendsTemplateDetail(kakaoVO);
|
||||
|
||||
}
|
||||
|
||||
model.addAttribute("resultTemplateVO", resultTemplateVO);
|
||||
|
||||
|
||||
@ -202,33 +213,6 @@ public class KakaoFriendsTalkSendController {
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value= {"/web/mjon/kakao/friendstalk/kakaoFriendsTalkMsgSendAjax.do"})
|
||||
public ModelAndView kakaoFriendsTalkMsgSendAjax(
|
||||
@ModelAttribute("kakaoVO") KakaoVO kakaoVO
|
||||
) throws Exception {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
int sendCount = 0; //발송결과 건수
|
||||
try {
|
||||
|
||||
/** 카카오톡 전송 기본 설정 -------------------------------------------*/
|
||||
/** 카카오톡 전송 금액 설정 -------------------------------------------*/
|
||||
/** 카카오톡 전송 분할 설정 -------------------------------------------*/
|
||||
/** 카카오톡 예약 전송 설정 -------------------------------------------*/
|
||||
/** 카카오톡 전송 메시지 설정 ------------------------------------------*/
|
||||
/** 카카오톡 발송 처리 -----------------------------------------------*/
|
||||
|
||||
}catch (Exception e) {
|
||||
System.out.println(" kakaoFriendsTalkMsgSendAjax Error ::: " + e);
|
||||
modelAndView.addObject("message", egovMessageSource.getMessage("fail.common.update"));
|
||||
modelAndView.addObject("result", "fail");
|
||||
return modelAndView;
|
||||
}
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Method Name : selectSpamKakaoFriendsTalkMsgChkAjax
|
||||
* @작성일 : 2024. 1. 15.
|
||||
@ -325,10 +309,282 @@ public class KakaoFriendsTalkSendController {
|
||||
*/
|
||||
@RequestMapping(value= {"/web/mjon/kakao/friendstalk/kakaoFriendsTalkMsgSendAjax.do"})
|
||||
public ModelAndView kakaoFriendsTalkMsgSendAjax(ModelMap model
|
||||
, HttpServletRequest request
|
||||
, @ModelAttribute("kakaoVO") KakaoVO kakaoVO) throws Exception {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
|
||||
int resultSts = 0; //발송결과 건수
|
||||
int resultBlockSts = 0; //수신거부 등록번호로 발송을 안한 건수
|
||||
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
try {
|
||||
|
||||
if(userId == "") {
|
||||
modelAndView.addObject("message", "로그인 후 이용이 가능합니다.");
|
||||
modelAndView.addObject("result", "loginFail");
|
||||
return modelAndView;
|
||||
}else {
|
||||
|
||||
/**
|
||||
* 회원 정지된 상태이면 알림톡 발송이 안되도록 처리함
|
||||
* 현재 로그인 세션도 만료 처리함
|
||||
* */
|
||||
boolean mberSttus = userManageService.selectUserStatusInfo(userId);
|
||||
|
||||
if(!mberSttus) {
|
||||
|
||||
modelAndView.addObject("message", "현재 고객님께서는 문자온 서비스 이용이 정지된 상태로 알림톡을 발송하실 수 없습니다. 이용정지 해제를 원하시면 고객센터로 연락주시기 바랍니다.");
|
||||
modelAndView.addObject("result", "authFail");
|
||||
|
||||
request.getSession().invalidate();
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/** 카카오톡 전송 기본 설정 -------------------------------------------*/
|
||||
kakaoVO.setSendType("FT");
|
||||
kakaoVO.setMsgType("9");
|
||||
kakaoVO.setUserId(userId);
|
||||
|
||||
|
||||
/** 전송금액 설정 --------------------------------------------------*/
|
||||
KakaoVO priceSet = kakaoSendUtil.kakaoFTSendPrice(kakaoVO);
|
||||
|
||||
if(priceSet.getResultCode() != null && priceSet.getResultCode().equals("2000")) {
|
||||
|
||||
modelAndView.addObject("message", "대체문자 치환 후 전송 문자 길이를 초과하였습니다.");
|
||||
modelAndView.addObject("result", "fail");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
BigDecimal befCash = new BigDecimal(priceSet.getBefCash()).setScale(2, RoundingMode.HALF_EVEN);
|
||||
BigDecimal totMsgPrice = new BigDecimal(priceSet.getTotPrice()).setScale(2, RoundingMode.HALF_EVEN);
|
||||
|
||||
kakaoVO.setEachPrice(priceSet.getEachPrice());
|
||||
kakaoVO.setBefCash(befCash.toString());
|
||||
kakaoVO.setTotPrice(totMsgPrice.toString());
|
||||
|
||||
//현재 보유 금액이 발송 문자 총 금액보다 클 경우만 문자 발송
|
||||
//BigDecimal 비교 연산
|
||||
// befCash(현재 보유금액) 값이 totMsgPrice(문자전송 금액) 보다 많으면 문자 전송
|
||||
if(befCash.compareTo(totMsgPrice) != -1) { // -1 : befCash < totMsgPrice, 0 : befCash = totMsgPrice, 1 : befCash > totMsgPrice,
|
||||
|
||||
kakaoVO.setMsgGroupId(idgenMjonMsgGroupId.getNextStringId()); // 문자 그룹ID 설정
|
||||
|
||||
/** 카카오톡 전송 분할 설정 ----------------------------------------------*/
|
||||
|
||||
String[] tempPhoneList = new String[200]; //임시 수신번호 리스트 저장용 배열
|
||||
List<String[]> tempVarValList = new ArrayList<String[]>(); //임시 변수 리스트 저장용
|
||||
|
||||
String[] phoneList = kakaoVO.getCallToList();
|
||||
List<String[]> varValList = null;
|
||||
|
||||
|
||||
//치환문자 포함 여부
|
||||
if(kakaoVO.getTxtReplYn().equals("Y")) {
|
||||
varValList = kakaoVO.getVarValList();
|
||||
}
|
||||
|
||||
System.out.println("+++++++++++++++++ 회원 스미싱 의심 온/오프 ::: "+kakaoVO.getAtSmishingYn());
|
||||
|
||||
//스팸 스미싱 여부 - 내용에 스팸 문자열 유무 체크
|
||||
if(kakaoVO.getSpamStatus().equals("Y") || kakaoVO.getAtSmishingYn().equals("Y")) {
|
||||
kakaoVO.setAtSmishingYn("Y");
|
||||
}else {
|
||||
kakaoVO.setAtSmishingYn("N");
|
||||
}
|
||||
|
||||
//스미싱 의심이 아니면 delayYn 값 셋팅
|
||||
if(kakaoVO.getAtSmishingYn().equals("N")) {
|
||||
kakaoVO.setDelayYn("N");
|
||||
}else {
|
||||
kakaoVO.setDelayYn("Y");
|
||||
}
|
||||
|
||||
//분할발송 여부 - 친구톡은 분할 발송이 없기애 N으로 픽스
|
||||
kakaoVO.setDivideChk("N");
|
||||
|
||||
int callToListCnt = kakaoVO.getCallToList().length;
|
||||
kakaoVO.setTotalCallCnt(callToListCnt);
|
||||
|
||||
/** 예약 문자인 경우 설정 ----------------------------------------------*/
|
||||
//분할문자 시간에 간격시간 더해주기
|
||||
String dividDay = null;
|
||||
Calendar cal = Calendar.getInstance();
|
||||
|
||||
//예약시간 변환
|
||||
SimpleDateFormat transFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||
|
||||
int turmMin = 0;
|
||||
int totalCallCnt = 0; // 수신자 전체 갯수
|
||||
int divideCnt = 0;
|
||||
int count = 1; //분할 카운트
|
||||
|
||||
if(!kakaoVO.getReserveYn().equals("N")) {//예약문자인 경우 시간 셋팅
|
||||
|
||||
Date toDate = transFormat.parse(kakaoVO.getReqDate());
|
||||
cal.setTime(toDate); //예약 시간 캘린터 변수에 입력
|
||||
|
||||
//turmMin = Integer.parseInt(kakaoVO.getDivideTime()); //분할발송 시간 간격
|
||||
//dividDay = transFormat.format(cal.getTime());
|
||||
|
||||
totalCallCnt = kakaoVO.getCallToList().length; // 수신자 전체 갯수
|
||||
//divideCnt = Integer.parseInt(kakaoVO.getDivideCnt()); //분할 발송 갯수
|
||||
|
||||
}
|
||||
|
||||
//분할 예약 시간 저장 리스트 생성
|
||||
List<String> dividDayList = new ArrayList<String>();
|
||||
|
||||
if(callToListCnt > 200) {
|
||||
|
||||
int sendCnt = 0;
|
||||
/** 카카오톡 전송 200개 이상일때 ----------------------------------------------*/
|
||||
for(int i =0; i < callToListCnt; i++) {
|
||||
|
||||
//분할 발송을 체크 한 경우
|
||||
/*if(kakaoVO.getDivideChk().equals("Y")) {
|
||||
if(count > divideCnt) {
|
||||
count = 1;
|
||||
cal.add(Calendar.MINUTE, turmMin); //분할 시간 간격을 증가시켜 준다.
|
||||
dividDay = transFormat.format(cal.getTime());
|
||||
dividDayList.add(dividDay);
|
||||
count++;
|
||||
}else {
|
||||
dividDayList.add(dividDay);
|
||||
count++;
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
if((i < callToListCnt -1) && sendCnt == 199) {
|
||||
|
||||
tempPhoneList[sendCnt] = phoneList[i];
|
||||
|
||||
if(varValList != null) {
|
||||
tempVarValList.add(varValList.get(i));
|
||||
}
|
||||
|
||||
List<String> arrPhoneList = new ArrayList<String>();
|
||||
for(String temp : tempPhoneList) {
|
||||
if(temp != null) {
|
||||
arrPhoneList.add(temp);
|
||||
}
|
||||
}
|
||||
|
||||
String[] sendPhoneList = new String[arrPhoneList.size()];
|
||||
for(int j=0; j< arrPhoneList.size(); j++) {
|
||||
sendPhoneList[j] = arrPhoneList.get(j);
|
||||
}
|
||||
|
||||
/** 카카오톡 전송 메시지 설정 ----------------------------------------------*/
|
||||
kakaoVO.setCallToList(sendPhoneList);
|
||||
kakaoVO.setVarValList(tempVarValList);
|
||||
KakaoVO kakaoSendMsgSet = kakaoSendUtil.kakaoFTSendMsg(kakaoVO);
|
||||
kakaoVO.setKakaoSendList(kakaoSendMsgSet.getKakaoSendList());
|
||||
|
||||
/** 카카오톡 발송 처리 --------------------------------------------------*/
|
||||
kakaoVO.setDividDay(dividDayList);
|
||||
MjonMsgReturnVO returnVO = kakaoAlimTalkService.insertKakaoFtSendAjax(kakaoVO);
|
||||
resultSts = resultSts + Integer.parseInt(returnVO.getSendMsgCnt());
|
||||
//전송 초기화
|
||||
sendCnt = 0;
|
||||
Arrays.fill(tempPhoneList, null);
|
||||
tempVarValList.clear();
|
||||
dividDayList.clear();
|
||||
|
||||
}else if((i == callToListCnt -1) && sendCnt < 200){//200개의 마지막일 경우 처리
|
||||
|
||||
tempPhoneList[sendCnt] = phoneList[i];
|
||||
|
||||
if(varValList != null) {
|
||||
|
||||
tempVarValList.add(varValList.get(i));
|
||||
|
||||
}
|
||||
|
||||
List<String> arrPhoneList = new ArrayList<String>();
|
||||
for(String temp : tempPhoneList) {
|
||||
if(temp != null) {
|
||||
arrPhoneList.add(temp);
|
||||
}
|
||||
}
|
||||
|
||||
String[] sendPhoneList = new String[arrPhoneList.size()];
|
||||
for(int j=0; j< arrPhoneList.size(); j++) {
|
||||
sendPhoneList[j] = arrPhoneList.get(j);
|
||||
}
|
||||
|
||||
/** 카카오톡 전송 메시지 설정 ----------------------------------------------*/
|
||||
kakaoVO.setCallToList(sendPhoneList);
|
||||
kakaoVO.setVarValList(tempVarValList);
|
||||
KakaoVO kakaoSendMsgSet = kakaoSendUtil.kakaoFTSendMsg(kakaoVO);
|
||||
kakaoVO.setKakaoSendList(kakaoSendMsgSet.getKakaoSendList());
|
||||
kakaoVO.setKakaoSubMagOrgnlTxt(kakaoSendMsgSet.getKakaoSubMagOrgnlTxt());
|
||||
/** 카카오톡 발송 처리 --------------------------------------------------*/
|
||||
kakaoVO.setDividDay(dividDayList);
|
||||
MjonMsgReturnVO returnVO = kakaoAlimTalkService.insertKakaoFtSendAjax(kakaoVO);
|
||||
resultSts = resultSts + Integer.parseInt(returnVO.getSendMsgCnt());
|
||||
}else {//198개가 될때까지 배열에 데이터를 쌓는다
|
||||
|
||||
tempPhoneList[sendCnt] = phoneList[i];
|
||||
|
||||
if(varValList != null && varValList.get(i).length > 0) {
|
||||
tempVarValList.add(varValList.get(i));
|
||||
}
|
||||
|
||||
sendCnt++;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
/** 카카오톡 전송 200개 미만일때 ----------------------------------------------*/
|
||||
//분할 발송을 체크 한 경우
|
||||
/*if(kakaoVO.getDivideChk().equals("Y")) {
|
||||
for(int i =0; i < callToListCnt; i++) {
|
||||
if(count > divideCnt) {
|
||||
count = 1;
|
||||
cal.add(Calendar.MINUTE, turmMin); //분할 시간 간격을 증가시켜 준다.
|
||||
dividDay = transFormat.format(cal.getTime());
|
||||
dividDayList.add(dividDay);
|
||||
count++;
|
||||
}else {
|
||||
dividDayList.add(dividDay);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
/** 카카오톡 전송 메시지 설정 ----------------------------------------------*/
|
||||
KakaoVO kakaoSendMsgSet = kakaoSendUtil.kakaoFTSendMsg(kakaoVO);
|
||||
kakaoVO.setKakaoSendList(kakaoSendMsgSet.getKakaoSendList());
|
||||
kakaoVO.setKakaoSubMagOrgnlTxt(kakaoSendMsgSet.getKakaoSubMagOrgnlTxt());
|
||||
|
||||
/** 카카오톡 발송 처리 --------------------------------------------------*/
|
||||
kakaoVO.setDividDay(dividDayList);
|
||||
MjonMsgReturnVO returnVO = kakaoAlimTalkService.insertKakaoFtSendAjax(kakaoVO);
|
||||
resultSts = Integer.parseInt(returnVO.getSendMsgCnt());
|
||||
|
||||
}
|
||||
|
||||
/** 카카오톡 결과 처리 --------------------------------------------------*/
|
||||
}else {
|
||||
modelAndView.addObject("message", "친구톡 발송에 필요한 보유 잔액이 부족 합니다.");
|
||||
modelAndView.addObject("result", "fail");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("kakaoFriendsTalkMsgSendAjax Controller Error !!!! "+e);
|
||||
}
|
||||
|
||||
System.out.println("++++++++++++++++++++++ senderKey ::: "+kakaoVO.getSenderKey());
|
||||
System.out.println("++++++++++++++++++++++ imageType ::: "+kakaoVO.getImageType());
|
||||
System.out.println("++++++++++++++++++++++ imageTitle ::: "+kakaoVO.getImageTitle());
|
||||
@ -386,6 +642,8 @@ public class KakaoFriendsTalkSendController {
|
||||
|
||||
System.out.println("++++++++++++++++ 예약 시간 ::: "+kakaoVO.getReqDate());
|
||||
|
||||
System.out.println("++++++++++++++++ json 필요 유무 ::: "+kakaoVO.getBizJsonYn());
|
||||
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
@ -58,8 +58,6 @@ function fnLinkPageTopTab(tabInfo){
|
||||
|
||||
}else if(tabInfo == 'tabFriend'){
|
||||
|
||||
/* alert("친구톡 메뉴는 현재 개발이 진행 중입니다."); */
|
||||
$("input[name=friendId]").val("");
|
||||
url = "<c:url value='/web/mjon/kakao/friendstalk/kakaoFriendsTalkMsgDataView.do'/>";
|
||||
|
||||
}else if(tabInfo == 'tabAlimtalkIntrd'){
|
||||
@ -68,8 +66,10 @@ function fnLinkPageTopTab(tabInfo){
|
||||
|
||||
}
|
||||
|
||||
form.action =url;
|
||||
form.submit();
|
||||
//form.action =url;
|
||||
//form.submit();
|
||||
//메뉴 선택시 폼 데이터로 인한 오류 발생하여 location으로 변경 - 20240117 우영두
|
||||
location.href=url;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -761,6 +761,19 @@ function fn_noTimeSend(){
|
||||
//친구톡 데이터 전송 처리
|
||||
function fn_sendMsgData(){
|
||||
|
||||
var senderKey = $("#selectAgentCode option:checked").val();
|
||||
|
||||
if(senderKey == ''){
|
||||
|
||||
alert("채널ID를 선택해 주세요.");
|
||||
return false;
|
||||
|
||||
}else{
|
||||
|
||||
$("#inputSenderKey").val(senderKey);
|
||||
|
||||
}
|
||||
|
||||
//이미지 첨부 체크
|
||||
var imgChk = $("input[name=img_file_add]:checked").val();
|
||||
if(imgChk == 'I' || imgChk == 'W'){
|
||||
@ -792,6 +805,16 @@ function fn_sendMsgData(){
|
||||
|
||||
$("#imageType").val(imgChk);
|
||||
|
||||
//json 파일 필요 유무 셋팅
|
||||
$("#bizJsonYn").val("Y");
|
||||
}
|
||||
|
||||
//템플릿 버튼 갯수 체크
|
||||
var buttonCnt = $(".btn_kakao_type").length;
|
||||
|
||||
if(buttonCnt > 0){
|
||||
//json 파일 필요 유무 셋팅
|
||||
$("#bizJsonYn").val("Y");
|
||||
}
|
||||
|
||||
//친구톡 내용 체크
|
||||
@ -815,7 +838,6 @@ function fn_sendMsgData(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//수신번호 리스트 체크하기
|
||||
var numCnt = 0;
|
||||
@ -1308,8 +1330,43 @@ function fn_subMsgCheck(){
|
||||
alert("대체문자 내용을 입력해 주세요.");
|
||||
return false;
|
||||
|
||||
}else{//대체문자에 치환문자 여부 체크
|
||||
|
||||
var smsTxtArea = $("#smsTxtArea").val();
|
||||
var replStatus = false;
|
||||
|
||||
if(smsTxtArea.indexOf("\#{이름}") > -1){
|
||||
replStatus = true;
|
||||
}
|
||||
|
||||
if(smsTxtArea.indexOf("\#{1}") > -1){
|
||||
replStatus = true;
|
||||
}
|
||||
|
||||
if(smsTxtArea.indexOf("\#{2}") > -1){
|
||||
replStatus = true;
|
||||
}
|
||||
|
||||
if(smsTxtArea.indexOf("\#{3}") > -1){
|
||||
replStatus = true;
|
||||
}
|
||||
|
||||
if(smsTxtArea.indexOf("\#{4}") > -1){
|
||||
replStatus = true;
|
||||
}
|
||||
|
||||
if(replStatus){
|
||||
$("#subMsgTxtReplYn").val("Y");
|
||||
}else{
|
||||
$("#subMsgTxtReplYn").val("N");
|
||||
}
|
||||
|
||||
$("#subMsgTxt").val(smsTxtArea);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
@ -1425,6 +1482,7 @@ function msgSuccessClose(obj){
|
||||
|
||||
<!-- 스팸 문구 유무 -->
|
||||
<input type="hidden" id="spamStatus" name="spamStatus" value="N"/>
|
||||
<input type="hidden" id="atSmishingYn" name="atSmishingYn" value="<c:out value='${atSmishingYn}' />"/>
|
||||
|
||||
<!-- 오류 체크 -->
|
||||
<input type="hidden" id="errorChk" name="errorChk" value="N"/>
|
||||
@ -1432,7 +1490,8 @@ function msgSuccessClose(obj){
|
||||
<!-- 대체문자 여부 -->
|
||||
<input type="hidden" id="subMsgSendYn" name="subMsgSendYn" value="N"/>
|
||||
<input type="hidden" id="subMsgType" name="subMsgType" value="SMS"/>
|
||||
|
||||
<input type="hidden" id="subMsgTxtReplYn" name="subMsgTxtReplYn" value="N"/>
|
||||
<input type="hidden" id="subMsgTxt" name="subMsgTxt" value=""/>
|
||||
|
||||
<!-- 발신번호정보 -->
|
||||
<input type="hidden" id="callFrom" name="callFrom" value=""/>
|
||||
@ -1442,6 +1501,10 @@ function msgSuccessClose(obj){
|
||||
<input type="hidden" id="eachPrice" name="eachPrice" value=""/>
|
||||
<input type="hidden" id="totPrice" name="totalPrice" value=""/>
|
||||
|
||||
<!-- 친구톡 발송 json 파일 필요 유무 -->
|
||||
<input type="hidden" id="bizJsonYn" name="bizJsonYn" value="N"/>
|
||||
|
||||
|
||||
<div class="send_general friend_talk_wrap kakao_wrap">
|
||||
<div class="send_left">
|
||||
<table class="tType1">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user