package itn.let.mjo.msgcampain.service;

import java.util.List;

import itn.let.mjo.msg.service.MjonMsgVO;

public interface MjonCandidateService {

	// 선거문자 후보자 정보 불러오기
		public MjonCandidateVO selectCandidateDataInfo(String userId) throws Exception;
		
		// 선거문자 후보자 등록 처리
		public int insertCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
		
		// 선거문자 후보자 정보 수정
		public int updateCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
		
		// 선거문자 후보자 삭제 처리
		public int deleteCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
		
		// 선거문자 후보자 등록/수정시 회원정보 테이블 세금계산서 정보 수정해주기
		public int updateTaxBillMemberInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
		
		//선거문자 20건 발송 전체 수신목록 입력
		public int insertCandidateTWCallToData(List<MjonCandidateTWVO> mjonCandidateTWVO) throws Exception;
		
		//선거문자 20건 기존 등록 수신목록 모두 취소 시키기
		public int updateCandidateTWCallToDataCancel(String mberId) throws Exception;
		
		//선거문자 20건 회원 Call_seq 최대값 불러오기
		public int selectCandidateTWMaxCallSeq(String mberId) throws Exception;
		
		//선거문자 20건 수신목록 20개 불러오기 페이징 처리
		public List<?> selectCampainTWCalltoList(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
		
		//선거문자 20건 수신목록 초기화 기능 - 등록된 수신목록 send_flag를 C로 변경 처리함.
		public int updateMsgTWCallToListResetByMberId(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
		
		//선거문자 20건 수신목록 선택 삭제기능
		public int updateMsgTWCallToListChkDel(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
		
		//선거문자 20건 수신목록 건수 표시 정보 조회(전체건수, 발송완료 건수, 미방송 건수)
		public MjonCandidateTWVO selectMsgTWCallToTotCount(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
		
		//선거문자 20건 받는사람 정보 단건추가 진행 - 번호추가 기능에서 사용
		public int insertCandidateTWCallToDataOnlyAdd(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
		
		//선거문자 20건 중복연락처 조회 
		public int selectCandidateTWCallToDupleCnt(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
		
		//선거문자 20건 마지막 번호 불러오기
		public int selectMsgCallToSeqNum(String mberId) throws Exception;
		
		//선거문자 20건 전송 후 CallTo 상태값 전송 완료로 변경 처리
		public int updateMsgTWCallToListSendFlag(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
		
		//선거문자 대량 전송 주소록 그룹 정보 조회하기
		public List<String> selectAddrGrpHGList(MjonMsgVO mjonMsgVO) throws Exception; 
		
}
