322 lines
13 KiB
Java
322 lines
13 KiB
Java
package itn.let.kakao.kakaoComm;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
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 sendKind;
|
|
|
|
private List<Map<String, String>> varListMap;
|
|
|
|
@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 += "]";
|
|
|
|
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 ]";
|
|
}
|
|
|
|
|
|
}
|