package itn.let.mjo.msgsent.service;

import java.util.Date;
import java.util.List;

import itn.let.uss.umt.service.UserDefaultVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MjonMsgSentVO extends UserDefaultVO{

	private static final long serialVersionUID = 1L;
	
	private String userId;			//사용자 아이디
	private String addrNm;			//받는사람 이름 - 없으면 '-'으로 표시
	private String msgSeq;			//문자 시퀀스 번호
	private String msgGroupId;		//문자그룹아이디
	private List msgGroupIdList;	//문자 그룹아이디 리스트
	private String smsTxt;			//문자 내용
	private String subject;			//문자 제목
	private String subjectChkYn;			//문자 제목
	private String regDate;			//문자 등록일자
	private String reqDate;			//문자 예약 발송 일자
	private String callFrom;		//발신번호
	private String callTo;			//수신자 번호
	private List callToList;		//수신자 번호 리스트 
	private String totPrice;		//총 문자 발송 금액
	private String eachPrice;		//문자 한건 금액
	private String delFlag;			//삭제여부(예약취소 여부)
	private String totMsgPrice;		//전체 문자 금액 총합
	private String rsltCode;		//결과 코드(현대퓨쳐넷, 아이엠오 결과 코드값)
	private String rsltCode2;		//결과 코드(아이하트 중계사 결과 코드값)
	private String msgType;			//문자 종류 - 4 : 단문 , 6 장문
	private String msgGroupCnt;		//문자 발송 건수
	private String fileCnt;			//첨부 이미지 갯수 - 0: 장문, 1 이상은 그림문자
	private String totMsgCnt;		//전체 전송문자 갯수
	private String curState;		//전송 처리 결과값
	private String reserveYn;		//예약 문자 여부
	private String reserveCYn;		//예약 취소 여부
	private String filePath1;		//그림 이미지 1
	private String filePath2;		//그림 이미지 2
	private String filePath3;		//그림 이미지 3
	private Date sentDate;			//중계사 발송 시간
	private String agentCode;		//중계사 코드(01:아이하트, 02: 현대 퓨처넷, 03: 아이엠오)
	private String userData;		//예약 취소 문자 seq 번호 저장
	private List userDataList;		//예약 취소 문자 seq 번호 저장 리스트
	private Date cancelDate;		//예약 취소 일자 저장
	
	private String startDate; 		//검색 시작일자
	private String endDate;			//검색 종료일자
	private String searchMsgType;	//검색 문자 종류
	
	private String tabType;			//발송관리 탭 종류 - 전체, SMS, LMS, MMS
	private String stateType;		//발송관리 상태 종류 - 전체, 발송대기, 발송완료, 발송실패
	private String listType; 		//발송관리 리스트 종류 - 전송건별, 개인별
	private String resultType;		//발송관리 성공, 실패 선택
	
	private String msgResultCnt;	//발송결과 성공, 실패 건수
	private String msgResultSts;	//발송결과 성공(S), 실패(F) 코드   
	
	private String addrGrpNm;		//주소록 그룹 이름
	
	private String atchFileId;		//첨부파일 Id
	private String fileSn;			//첨부파일 Sn
	
	private String msgTypeName;		// 문자 구분명
	private int orderByCode;		// 문자타입 정렬번호
	private int orderByrsltCode;	// 문자타입 정렬번호
	private String msgResult;	//메시지 결과 (S:성공, W:대기, F:실패)
	
	private String  ntceBgnde;		// 검색일(현시점 범위 검색은 아님) : 04-21
	private String  ntceEndde;		// 검색일(현시점 범위 검색은 아님) : 04-21
	
	private int successCnt;	// 문자발송 성공건수
	
	private String msgKind;	//문자종류(일반:N, 광고:A , 선거:C, 관리자:S, 이벤트:E)
	private String delayYn; //지연 문자 유무
	private String delayCompleteYn; //지연문자 처리 완료 여부
	private Date delayOrgTime; 	//30분 딜레이된 발송시간에서 -30분 처리하여 원래 보내려던 발송시간 처리

	private String msgId;		//문자아이디
	private String atchFiles; 		// 그림문자 파일정보
	
	private String sendKind; 		// 그림문자 파일정보

	private String callFromComma;
	private String callToComma;
	private String msgSentType;
	private String successCount;
	
	private String resultSValue;
	private String resultFValue;
	private String resultWValue;
	private String resultWFValue;
	
	private String divideYN; // 분할여부
	
	private String statusCd; // 진행상태 코드
	
	// 결과 리스트 select 할 떄
	// TIMESTAMPDIFF(minute, DATE_FORMAT(B.REQ_DATE, '%Y-%m-%d %T'), DATE_FORMAT(NOW(), '%Y-%m-%d %T')) as diffMin
	private int diffMin;
	
}
