package itn.let.sts.cst.service;

import java.util.List;

import itn.let.mjo.msg.service.MjPhoneMemberVO;
import itn.let.sts.com.StatsVO;
import itn.let.uss.umt.service.MberManageVO;

/**
 * 접속 통계 검색 비즈니스 인터페이스 클래스
 * @author 공통서비스 개발팀 박지욱
 * @since 2009.03.12
 * @version 1.0
 * @see
 *
 * <pre>
 * << 개정이력(Modification Information) >>
 *
 *   수정일      수정자          수정내용
 *  -------    --------    ---------------------------
 *  2009.03.19  박지욱          최초 생성
 *  2011.06.30  이기하          패키지 분리(sts -> sts.cst)
 *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
 *
 *  </pre>
 */
public interface EgovConectStatsService {

	/**
	 * 접속 통계를 조회한다
	 * @param vo StatsVO
	 * @return List
	 * @exception Exception
	 */
	List<?> selectConectStats(StatsVO vo) throws Exception;

	int selectConectStatsTotCnt(StatsVO statsVO) throws Exception;

	List<?> selectMainConectStats(StatsVO statsVO) throws Exception;
	
	// 디바이스별 일별 통계
	List<?> selectDeviceStatOneday(StatsVO statsVO) throws Exception;
	
	List<?> selectMainConectStatsYesterDay(StatsVO statsVO) throws Exception;
	
	List<StatsVO> selectMainStatsDay(StatsVO statsVO) throws Exception;

	List<StatsVO> selectMainStatsMonth(StatsVO statsVO) throws Exception;

	List<StatsVO> selectMainStatsYear(StatsVO statsVO) throws Exception;

	List<StatsVO> selectPcMainStatsDay(StatsVO statsVO) throws Exception;

	List<StatsVO> selectMobileMainStatsDay(StatsVO statsVO) throws Exception;

	// 대시보드 회원통계 Info
	StatsVO selectDashBoardMemStatInfo(StatsVO statsVO) throws Exception;
	
	// 대시보드 통계 List
	List<StatsVO> selectDashBoardStatList(StatsVO statsVO) throws Exception;

	// 대시보드 통계 Info
	StatsVO selectDashBoardStatInfo(StatsVO statsVO) throws Exception;
	
	// 대시보드 인서트
	public void insertDashBoardStat(StatsVO statsVO) throws Exception;

	// 대시보드 업데이트
	public void updateDashBoardStat(StatsVO statsVO) throws Exception;
	
	// 대시보드 인서트 Logic
	public void insertDashBoardStatLogic(StatsVO statsVO) throws Exception;

	// 대시보드 업데이트 Logic
	public void updateDashBoardStatLogic(StatsVO statsVO) throws Exception;

	
	
	List<?> selectConectMenuStats(StatsVO statsVO) throws Exception;

	int selectConectStatsMenuTotCnt(StatsVO statsVO) throws Exception;

	List<StatsVO> selectPcMobileMainStatsDay(StatsVO statsVO) throws Exception;
	
	//기업회원 심사 건수 불러오기
	List<MberManageVO> selectMberCmpHstStats(MberManageVO reqMberManageVO) throws Exception;
	
	//기업회원 심사 건수 불러오기(대시보드)
	List<MberManageVO> selectMberCmpHstStatsDashboard(MberManageVO reqMberManageVO) throws Exception;	
	
	//개인 및 기업회원 상태별 건수
	List<MberManageVO> selectMberTotStats(MberManageVO reqMberManageVO) throws Exception;
	
	//발신번호 상태별 건수
	List<MjPhoneMemberVO> selectMberPhoneTotStats(MjPhoneMemberVO mjPhoneMemberVO) throws Exception;
	
	// 금일 탈퇴회원 수
	int selectTodayExpireMberCount(MberManageVO mberManageVO) throws Exception;	
	
	// 금일 이용정지회원 수
	int selectTodayStopMberCount(MberManageVO mberManageVO) throws Exception;
	
	// 금일 탈퇴회원 수 X 금일 이용정지회원 수 X 환불 취소 수
	String selectTodaySttCountString(MberManageVO mberManageVO) throws Exception;

}
