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 kakaoSendList = new ArrayList(); // 변환문자 변경내용 카카오 전송리스트 /** ---------------공통 변수 설정------------------------- */ 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 varNmList; // 변수 이름 private List 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 buttonVOList = new ArrayList(); 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> varListMap; @Override public String toString() { String varListMapString = "["; if (varListMap != null && !varListMap.isEmpty()) { StringBuilder sb = new StringBuilder(); for (Map map : varListMap) { if (sb.length() > 0) sb.append(", "); if (map == null) { sb.append("null"); } else { sb.append("{"); String prefix = ""; for (Map.Entry 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 ]"; } }