package itn.let.mjo.addr.service;
import java.util.List;
/**
* 주소록 관리를 위한 서비스 인터페이스 클래스
* @author ITN
* @since 2021.04.08
* @version 1.0
* @see
*
*
* << 개정이력(Modification Information) >>
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.04.08 ITN 최초 생성
*
*/
public interface AddrService {
List selectAddrList(AddrVO addrVO) throws Exception;
List selectAddrNewList(AddrVO addrVO) throws Exception;
AddrVO selectAddrDetail(AddrVO addrVO) throws Exception;
void insertAddr(AddrVO addrVO) throws Exception;
int updateAddr(AddrVO addrVO) throws Exception;
int updateAddrGrp(AddrVO addrVO) throws Exception;
int updateMemoAddr(AddrVO addrVO) throws Exception;
int updateAddrByAdmin(AddrVO addrVO) throws Exception;
int deleteAddr(AddrVO addrVO) throws Exception;
int deleteAddrByAdmin(AddrVO addrVO) throws Exception;
int deleteAddrByAdminAll(AddrVO addrVO) throws Exception;
int deleteAddrByAdminByGrpid(AddrVO addrVO) throws Exception;
int deleteAddrByAdminByGrpidAll(AddrVO addrVO) throws Exception;
List selectAddrBasicGrpList(AddrVO addrVO) throws Exception;
int selectAddrTotalCount(AddrVO addrVO) throws Exception;
void insertCopyAddr(AddrVO addrVO) throws Exception;
String updateAddrAnotherMember(AddrVO addrVO, AddrGroupVO addrGroupVO, AddrTransHistVO addrTransHistVO) throws Exception;
//주소록 등록 총 건수 및 정보 불러오기
public List> selectAddrTotCntInfByUserId(AddrVO addrVO) throws Exception;
//문자발송에서 수신자 리스트를 주소록에 등록하기
public int insertAddrList(List addrList) throws Exception;
public int selectDuplAddrCnt(AddrVO addrVO) throws Exception;
List> selectPhoneNumInAddrGroup(AddrVO addrVO) throws Exception;
public List selectAddrDataList(AddrVO addrVO) throws Exception;
// 주소록 그룹별 중복 연락처 삭제
int deleteAddrDupliList(AddrVO addrVO) throws Exception;
// 주소록 그룹별 중복 연락처 삭제
int deleteAddrDupliListByGrpnm(AddrVO addrVO) throws Exception;
// 주소록 전체 중복 연락처 중 한개만 남기고 삭제
int deleteAddrDupliListByAll(AddrVO addrVO) throws Exception;
// 주소록 그룹별 중복 연락처 리스트 불러오기
List selectAddrDupliList(AddrVO addrVO) throws Exception;
// 주소록 그룹별 중복 연락처 리스트 불러오기
List selectAddrDupliListByGrpnm(AddrVO addrVO) throws Exception;
// 주소록 전체 중복 연락처 수
public int selectAddrDupliListByAllCnt(AddrVO addrVO) throws Exception;
// 주소록 전체 중복 연락처 목록
public List selectAddrDupliListByAll(AddrVO addrVO) throws Exception;
// TEMP 주소록 중복 연락처 목록
public List selectTempAddrDupliList(AddrVO addrVO) throws Exception;
// TEMP 주소록 삭제
int deleteTempAddr(AddrVO addrVO) throws Exception;
// TEMP 주소록 대량등록
public int insertTempAddrList(List addrList) throws Exception;
// 주소록 대량등록 By Temp 주소록
public int insertAddrByTempAddr(AddrVO addrVO) throws Exception;
// 주소록 대량등록 By Temp 주소록 All
public int insertAddrByTempAddrAll(List addrList, AddrVO addrVO) throws Exception;
}