package itn.let.mjo.payva.service;

import java.util.List;

/**
 * 주소록 관리를 위한 서비스 인터페이스  클래스
 * @author ITN
 * @since 2021.04.08
 * @version 1.0
 * @see
 *
 * <pre>
 * << 개정이력(Modification Information) >>
 *   수정일      수정자          수정내용
 *  -------    --------    ---------------------------
 *  2021.04.08  ITN          최초 생성
 *  </pre>
 */
public interface VacsVactService {	
	
	//기본 쿼리
	void insert(VacsVactVO vacsVactVO) throws Exception;
	
	VacsVactVO selectDetail(VacsVactVO vacsVactVO) throws Exception;

	int update(VacsVactVO vacsVactVO) throws Exception;
	
	int delete(VacsVactVO vacsVactVO) throws Exception;
	
	List<VacsVactVO> selectList(VacsVactVO vacsVactVO) throws Exception;
	
	//변형 쿼리
	int deleteWithQuery(VacsVactVO vacsVactVO) throws Exception;
	
	List<?> selectElseList(VacsVactVO vacsVactVO) throws Exception;
	
	int selectOverCount(VacsVactVO vacsVactVO) throws Exception;
	
	int updateBulk(VacsVactVO vacsVactVO) throws Exception;
	
	List<?> selectBankAcctList(VacsVactVO vacsVactVO) throws Exception;
	
	//회원 할당받은 계좌 정보 불러오기
	List<?> selectMyBankAcctList(VacsVactVO vacsVactVO) throws Exception;
	
	//회원 할당 가능한 전체 은행 정보 불러오기
	List<?> selectBankAcctAllList(VacsVactVO vacsVactVO) throws Exception;
	
	//회원 할당가능한 계좌 조회 및 할당 해주기
	String updateVacsAccountUsrId(VacsVactVO vacsVactVO) throws Exception;
	
	//할당 한 계좌 히스토리
	void insertVacsHistory(VacsVactVO vacsVactVO) throws Exception;
	
	List<VacsVactVO> selectBankAccountByUserId(VacsVactVO vacsVactVO) throws Exception;
	
	//할당된 계좌 해지처리 하기
	int updateVacsAccountUsrBlock(VacsVactVO vacsVactVO) throws Exception;
	
}
