File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.let.kakao.kakaoComm;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import itn.com.cmm.MjonFTSendVO;
import itn.let.mjo.msg.service.MjonMsgVO;
import lombok.Getter;
import lombok.Setter;
/**
* @FileName : KakaoVO.java
* @Project : mjon
* @Date : 2023. 1. 26.
* @작성자 : WYH
* @프로그램 설명 : 카카오톡 요청 변수 목록 (문자온VO를 상속 받음)
*/
@Getter
@Setter
public class KakaoVO extends MjonMsgVO{
private static final long serialVersionUID = 536382850588307019L;
/** ---------------리스트 변수 설정------------------------- */
private List<KakaoVO> kakaoSendList = new ArrayList<KakaoVO>(); // 변환문자 변경내용 카카오 전송리스트
/** ---------------공통 변수 설정------------------------- */
private String bizUrl = ""; // 요청 URL
private String bizReturnMsg = ""; // 응답메세지
private String bizReturnCode = ""; // 응답코드 200: 성공 , 나머지 실패
private String sendPhone = ""; // 발신자 번호
private String destPhone = ""; // 수신자 번호
private String subMsgSendYn = "N"; // 대체문자 전송:Y , 미전송:N
private String subMsgTxtReplYn = "";// 대체문자 치환문자 유무 Y:있음 N:없음
private String subMsgType = ""; // 대체문자 전송 타입 (SMS, MMS)
private String subMsgTxt = ""; // 대체문자 내용
private String count = ""; // 페이지 별 템플릿 개수 (default: 30)
private String page = ""; // 요청 페이지 (default: 1)
private String bizUmid = ""; //대체문자 발송 PK 아이디
private List<String> varNmList; // 변수 이름
private List<String[]> varValList; // 변수 값
private String sendType = ""; // 알림톡 : AT, 친구톡 : FT
private String adFlag; //친구톡 광고성 정보 사용 유무(Y:사용 , N:미사용)
/** ---------------profile 변수 설정------------------------- */
private String profileId = ""; // profile ID
private String userId = ""; // 사용자 ID
private String phoneNumber = ""; // 토큰을 수신할 휴대폰번호(yellow ID의 핸드폰번호와 일치)
private String yellowId = ""; // 카카오톡 체널(@IDf)
private String token = ""; // 수신토큰
private String senderKey = ""; // 발신프로필 키
private String senderKeyType = ""; // 발신프로필 키 타입
private String deleteYn = ""; //발신프로필 삭제 여부
/** ---------------JSON 파일 설정------------------------- */
private String bizJsonYn = "N"; // json 파일여부 (Y: 파일있음, N : 파일없음)
private String bizJsonName = ""; // json 파일명
/** ---------------CATEGORY------------------------- */
private String categoryDepth = ""; // 카테고리 차수(1:1차, 2:2차, 3:3차 카테고리 정보)
private String categoryType = ""; // 카테고리 종류(P:발신프로필, T:템블릿)
private String categoryGroupName = ""; // 카테고리 그룹 이름
private String categoryCode = ""; // 카테고리 코드
private String categoryName = ""; // 카테고리 이름
private String categoryInclusion = ""; // 카테고리 적용 대상 템플릿 설정
private String categoryExclusion = ""; // 카테고리 제외 대상 템플릿 설정
/** ---------------IMAGE------------------------- */
private String imgTitle = ""; //이미지 제목
private String imageType = ""; //이미지 타입 (I:기본 이미지, W:와이드 이미지)
private String imgLink = ""; //이미지 클릭시 이동 할 URL(http:// 또는 https:// 포함)
/** ---------------TEMPLATE------------------------- */
private String templateCode = ""; // 템플릿 코드
private String newTemplateCode = ""; //수정하려는 템플릿 코드 ( 템플릿 수정할때 사용)
private String[] arrTemplateCode; //템플릿코드 배열로 받아오기
private String templateName = ""; // 템플릿 이름
private String templateMessageType = ""; // 템플릿 메시지 유형 (BA:기본형(default), EX:부가정보형, AD:광고추가형, MI:복합형)
private String templateEmphasizeType = ""; // 템플릿 강조 유형
private String templateContent = ""; // 템플릿 내용
private String templateExtra = ""; // 템플릿 부가정보
private String tamplateAd = ""; // 템플릿 광고성 메시지
private String templateImageName = ""; // 템플릿 이미지 파일명 - templateEmphasizeType “IMAGE” 선택 시 필수
private String templateImageUrl = ""; // 템플릿 이미지 링크 - templateEmphasizeType “IMAGE” 선택 시 필수
private String templateTitle = ""; // 템플릿 내용 중 강조 표기할 핵심 정보 - templateEmphasizeType “TEXT” 선택 시 필수
private String templateSubtitle = ""; // 템플릿 강조 표기 보조 문 - templateEmphasizeType “TEXT” 선택 시 필수
private String templateHeader = ""; // 헤더 (최대 16 자까지 입력 가능)
private Boolean securityFlag; // 보안 템플릿 여부( OTP 등 보안 메시지 일 경우 설정 발신 당시의 메인 디바이스를 제외한 모든 디바이스에 메시지 텍스트 미 노출)
private String templateStatus = ""; // 템플릿 상태 (REG: 등록, REQ: 검수요청, REJ: 반려, STP: 차단, RDY: 발송전, ACT: 정상, DMT: 휴면, BLK: 차단)
private String keyword = ""; //템플릿 검색 키워드
/** ---------------BUTTONS_TEMPLATE------------------------- */
private List<KakaoButtonVO> buttonVOList = new ArrayList<KakaoButtonVO>();
private String buttonName = ""; // 버튼명 - linkType “AC” 선택 시 버튼명은 “채널추가” 로 고정
private String buttonLinkType = ""; // 버튼 링크 타입 (DS:배송조회, WL:웹링크, AL:앱링크, BK:봇키워, MD: 메시지전달, AC: 채널추가, BC: 상담톡전환, BT: 봇전환, P1: 이미지 보안전송 플러그인, P2 : 개인정보이용 플러그인, P3: 원클릭 결제 플러그인)
private String buttonLinkAnd = ""; // Android 앱 링크 주소 (AL 사용시 필수) - linkIos, linkAnd, linkMo 중 2 가지 필수 입력
private String buttonLinkIos = ""; // IOS 앱 링크 주소 (AL 사용시 필수)
private String buttonLinkMo = ""; // 모바일 웹 링크 주소 (WL 사용시 필수)
private String buttonLinkPc = ""; // PC 웹 링크 주소 (WL 사용시 선택)
private String buttonPluginId = ""; // 플러그인 ID (P1, P2, P3 사용시 필수)
/** ---------------QUICKREPLIES_TEMPLATE------------------------- */
private String quickName = "";
private String quickLinkType = ""; // 퀵 링크 타입 (WL:웹링크, AL:앱링크, BK:봇키워드, MD: 메시지전달, BC : 상담톡전환, BT: 봇전환)
private String quickLinkAnd = ""; // Android 앱 링크 주소 (AL 사용시 필수)
private String quickLinkIos = ""; // IOS 앱 링크 주소 (AL 사용시 필수)
private String quickLinkMo = ""; // 모바일 웹 링크 주소 (WL 사용시 필수)
private String quickLinkPc = ""; // PC 웹 링크 주소 (WL 사용시 선택)
/** ---------------기타 사용 변수들------------------------- */
private String formListType = ""; //템플릿 리스트 화면의 리스트 종류 (리스트형, 썸네일형)
private String menuTopTab; //알림톡 최상단 탭 종류(알림톡, 친구톡, 카카오설정, 알림톡/친구톡 소개)
private String menuSubTab; //알림톡 중간 서브 탭 종류(사용안내, 채널ID 등록/관리, 알림톡 템플릿 등록/관리, 친구톡 템플릿 등록/관리)
private String searchCondition2; //검색어 옵션 변수
private String kakaoResendSuccCount = "0"; //카카오 대체문자 성공 건수
private String kakaoResendFailCount = "0"; //카카오 대체문자 실패 건수
private String atSuccessCount = "0"; //카카오 알림톡 성공 건수
private String ftSuccessCount = "0"; //카카오 친구톡 성공 건수
private String atFailCount = "0"; //카카오 알림톡 실패 건수
private String ftFailCount = "0"; //카카오 친구톡 실패 건수
/*-----------------알림톡 발송 단가 계산 변수--------------------*/
private String atSuccPrice = "0"; //카카오 알림톡 성공 금액 - 성공 건수 * eachPrice
private String ftSuccPrice = "0"; //카카오 친구톡 성공 금액 - 성공 건수 * eachPrice
private String atFailPrice = "0"; //카카오 알림톡 실패 금액 - 실패 건수 * eachPrice
private String ftFailPrice = "0"; //카카오 친구톡 실패 금액 - 실패 건수 * eachPrice
private String kakaoResendSuccPrice = "0"; //카카오 대체문자 성공 금액 - 성공 건수 * eachPrice
private String kakaoResendFailPrice = "0"; //카카오 대체문자 실패 금액 - 실패 건수 * eachPrice
private String atSuccCntSum = "0"; //카카오 알림톡 성공 건수 합계
private String ftSuccCntSum = "0"; //카카오 친구톡 성공 건수 합계
private String atFailCntSum = "0"; //카카오 알림톡 실패 건수 합계
private String ftFailCntSum = "0"; //카카오 친구톡 실패 건수 합계
private String kakaoResenSuccSum = "0"; //카카오 대체문자 성공 건수 합계
private String kakaoResenFailSum = "0"; //카카오 대체문자 실패 건수 합계
private String atSuccPriceSum = "0"; //카카오 알림톡 성공 금액 함계
private String ftSuccPriceSum = "0"; //카카오 친구톡 성공 금액 합계
private String atFailPriceSum = "0"; //카카오 알림톡 실패 금액 합계
private String ftFailPriceSum = "0"; //카카오 친구톡 실패 금액 합계
private String kakaoResendSuccPriceSum = "0"; //카카오 대체문자 성공 금액 함계
private String kakaoResendFailPriceSum = "0"; //카카오 대체문자 실패 듬액 합계
/*-----------------테스트 변수--------------------*/
private String sbscrbDe = "";
private String moblphonNo = "";
private String dept = "";
private String atchFileId = "";
private String workAtchFileId = "";
private String fileSn = "";
private String fileCn = "";
public String fileStreCours = "";
public String orignlFileNm = "";
public String streFileNm = "";
public String fileExtsn = "";
public String fileSize = "";
public int startCount = 0;
public int endCount = 0;
public String phmType = "";
/*-----------------친구톡 변수--------------------*/
private String friendId; //친구톡 템플릿 고유 아이디(IDGEN)
private String imageTitle; //친구톡 이미지 제목
private String imageLink; //친구톡 이미지 클릭시 링크 주소
private String jsonText; //json 파일 생성시 내용 저장(혹시 몰라서 내용도 별도로 저장함)
private String imageFileName; //친구톡 이미지 원본 파일명
private String successDay;
private String successMonth;
private String successYear;
private String successCntDay;
private String successCntMonth;
private String successCntYear;
//재전송 영역
private String msgResendAllFlag;
private String msgResendAllGroupId;
private String msgResendAllTmpKey;
private String msgResendAllYellowId;
private String bizKakaoResendType;
private String fileCnt;
private List<Map<String, String>> varListMap;
private List<MjonFTSendVO> mjonFTSendVOList = new ArrayList<>();
@Override
public String toString() {
String varListMapString = "[";
if (varListMap != null && !varListMap.isEmpty()) {
StringBuilder sb = new StringBuilder();
for (Map<String, String> map : varListMap) {
if (sb.length() > 0)
sb.append(", ");
if (map == null) {
sb.append("null");
} else {
sb.append("{");
String prefix = "";
for (Map.Entry<String, String> entry : map.entrySet()) {
sb.append(prefix).append(entry.getKey()).append("=").append(entry.getValue());
prefix = ", ";
}
sb.append("}");
}
}
varListMapString += sb.toString();
}
varListMapString += "]";
StringBuilder mjonFTListSb = new StringBuilder("[");
if (mjonFTSendVOList != null && !mjonFTSendVOList.isEmpty()) {
String prefix = "";
for (MjonFTSendVO vo : mjonFTSendVOList) {
mjonFTListSb.append(prefix).append(vo == null ? "null" : vo.toString());
prefix = ", ";
}
}
mjonFTListSb.append("]");
return "KakaoSendAdvcVO[" +
"\n senderKey=[" + senderKey + "]" +
"\n , subMsgTxtReplYn=[" + subMsgTxtReplYn + "]" +
"\n , subMsgSendYn=[" + subMsgSendYn + "]" +
"\n , reserveYn=[" + getReserveYn() + "]" +
"\n , divideCnt=[" + getDivideCnt() + "]" +
"\n , bizJsonYn=[" + bizJsonYn + "]" +
"\n , templateEmphasizeType=[" + templateEmphasizeType + "]" +
"\n , templateSubtitle=[" + templateSubtitle + "]" +
"\n , txtReplYn=[" + getTxtReplYn() + "]" +
"\n , callFrom=[" + getCallFrom() + "]" +
"\n , templateCode=[" + templateCode + "]" +
"\n , divideTime=[" + getDivideTime() + "]" +
"\n , reqDate=[" + getReqDate() + "]" +
"\n , atSmishingYn=[" + getAtSmishingYn() + "]" +
"\n , menuTopTab=[" + menuTopTab + "]" +
"\n , templateContent=[" + templateContent + "]" +
"\n , templateTitle=[" + templateTitle + "]" +
"\n , subMsgTxt=[" + subMsgTxt + "]" +
"\n , divideChk=[" + getDivideChk() + "]" +
"\n , sendType=[" + sendType + "]" +
"\n , msgType=[" + getMsgType() + "]" +
"\n , userId=[" + userId + "]" +
"\n , varListMap=[" + varListMapString + "]" +
"\n , befCash=[" + getBefCash() + "]" +
"\n , befPoint=[" + getBefPoint() + "]" +
"\n , mjonFTSendVOList=" + mjonFTListSb.toString() +
"\n ]";
}
public String ftToString() {
StringBuilder sb = new StringBuilder("KakaoFTSendVO[");
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 , 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 , 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 , callFrom=[").append(getCallFrom()).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 , tmpBtnSelect=[").append(getTmpBtnSelect()).append("]");
StringBuilder btnListSb = new StringBuilder("[");
if (buttonVOList != null && !buttonVOList.isEmpty()) {
String prefix = "";
for (KakaoButtonVO btn : buttonVOList) {
btnListSb.append(prefix).append(btn == null ? "null" : btn.toString());
prefix = ", ";
}
}
btnListSb.append("]");
sb.append("\n , buttonVOList=").append(btnListSb);
// mjonFTSendVOList 내용
StringBuilder ftList = new StringBuilder("[");
if (mjonFTSendVOList != null && !mjonFTSendVOList.isEmpty()) {
String prefix = "";
for (MjonFTSendVO vo : mjonFTSendVOList) {
ftList.append(prefix).append(vo == null ? "null" : vo.toString());
prefix = ", ";
}
}
ftList.append("]");
sb.append("\n , mjonFTSendVOList=").append(ftList);
sb.append("\n]");
return sb.toString();
}
}