package itn.let.mjo.addr.service;

import java.util.List;

import itn.let.mail.service.StatusResponse;

/**
 * 주소록 관리를 위한 서비스 인터페이스  클래스
 * @author ITN
 * @since 2021.04.08
 * @version 1.0
 * @see
 *
 * <pre>
 * << 개정이력(Modification Information) >>
 *   수정일      수정자          수정내용
 *  -------    --------    ---------------------------
 *  2021.04.08  ITN          최초 생성
 *  </pre>
 */
public interface AddrGroupService {

	public List<AddrGroupVO> selectAddrGroupList(AddrGroupVO addrGroupVO) throws Exception;
	
	public AddrGroupVO selectAddrGroupDetail(AddrGroupVO addrGroupVO) throws Exception;
	
	// 주소록 그룹 카운트 조회(전체)
	public AddrGroupVO selectAddrGroupTotCnt(AddrGroupVO addrGroupVO) throws Exception;

	// 주소록 그룹 카운트 조회(그룹미지정)
	public AddrGroupVO selectAddrGroupNogrpCnt(AddrGroupVO addrGroupVO) throws Exception;

	// 주소록 그룹 카운트 조회(자주보내는 번호)
	public AddrGroupVO selectAddrGroupBookmarkCnt(AddrGroupVO addrGroupVO) throws Exception;
	
	public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception;

	public int updateAddrGroup(AddrGroupVO addrGroupVO) throws Exception;

	public int deleteAddrGroup(AddrGroupVO addrGroupVO) throws Exception;
	
	public int deleteAddrGroupByAdmin(AddrGroupVO addrGroupVO) throws Exception;
	
	public int deleteAddrGroupByAdminAll(AddrGroupVO addrGroupVO) throws Exception;
	
	public int selectDuplAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception;

	public int selectMaxOrderNumber(AddrGroupVO addrGroupVO) throws Exception;
	
	public void mergeAddrGroupAjax(AddrGroupVO addrGroupVO, AddrVO addrVO) throws Exception;
	
	public void copyAddrGroupAjax(AddrGroupVO addrGroupVO, AddrVO addrVO) throws Exception;

}
