package itn.let.sym.grd.service;

import java.util.List;

import itn.let.sym.site.service.JoinSettingVO;

public interface MberGrdService {
	
	// 등급제 단가 추출 => 시스템 단가에 적용
	public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception;	
	
	// 등급제 설정 일괄변경
	public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception;
	
	// 등급제 시행여부 상세
	public MberGrdVO selectMberSettingDetail(MberGrdVO mberGrdVO) throws Exception;
	
	
	// 등급제 설정 목록
	List<MberGrdVO> selectMberGrdSettingList(MberGrdVO mberGrdVO) throws Exception;

	// 회원별 설정 상세
	public MberGrdVO selectMberGrdSettingDetail(MberGrdVO mberGrdVO) throws Exception;
	
	// 등급제 설정 일괄변경
	public int updateGrdSettingList(MberGrdVO mberGrdVO) throws Exception;

	// 등급제 등급 목록
	List<MberGrdVO> selectMberGrdList(MberGrdVO mberGrdVO) throws Exception;
	
	// 회원별 등급 상세
	public MberGrdVO selectMberGrdDetail(MberGrdVO mberGrdVO) throws Exception;

	// 회원 등급제 대상여부 정보(사용자화면용)
	public MberGrdVO selectMberGrdInfo(String userId) throws Exception;
	
	// 회원별 등급 누적결제액 상세
	public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception;
	
	// 회원별 등급 등록
	public void insertMberGrd(MberGrdVO mberGrdVO)  throws Exception;
	
	// 회원별 등급 수정
	public void updateMberGrd(MberGrdVO mberGrdVO)  throws Exception;		
	
	// 회원별 등급 일괄변경
	public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception;
	
	// 문자할인, B선라인 대상자 초기화
	public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception;
	
	// 회원별 등급 초기화
	public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception;

	// 회원별 등급 적용
	public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception;
	
	// 회원별 등급 진행여부
	int selectMberGrdPrgCnt(String userId) throws Exception;
	
	// 회원별 등급 저장여부
	int selectMberGrdSaveCnt(String userId) throws Exception;
	
	
	// 회원별 등급 히스토리 등록
	public void insertMberGrdHist(MberGrdVO mberGrdVO)  throws Exception;	
	
	// 회원별 등급 히스토리 목록 => 등급제 시행일이후 목록(사용자화면용)
	List<MberGrdVO> selectMberGrdHistByGrdDateList(MberGrdVO mberGrdVO) throws Exception;

	// 회원별 등급 히스토리 목록
	List<MberGrdVO> selectMberGrdHistList(MberGrdVO mberGrdVO) throws Exception;

}
