package com.bb.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;

import org.springframework.security.core.Authentication;
import org.springframework.util.MultiValueMap;

import com.bb.model.BetParam;
import com.bb.model.CommonParam;
import com.bb.model.Member;
import com.bb.model.ReportSearch;
import com.bb.model.Site;
import com.bb.model.SiteSearch;

public interface StatService {

	int getSiteDailyReportListCnt(SiteSearch search);

	List<HashMap> getSiteDailyReportList(SiteSearch search);

	int getVendorDailyReportListCnt(SiteSearch search);

	List<HashMap> getVendorDailyReportList(SiteSearch search);

	List<HashMap> getBottomSiteDailyReportList(SiteSearch search);

	HashMap getMonthCredit(SiteSearch search);

	List<HashMap> getUserDailyReportList(SiteSearch search);

	List<HashMap> getUserReportSum(SiteSearch search);

	List<HashMap> getAdminPushInfo();

	int getAgentReportCnt(SiteSearch search);

	List<HashMap> getAgentReportList(SiteSearch search);

	int getAgentReportCnt2(SiteSearch search);

	List<HashMap> getAgentReportList2(SiteSearch search);

	HashMap getAgentReportTotal(SiteSearch search);
	
	
	
	String getlastMonth(SiteSearch search);

	List<HashMap> getVendorDailyReportListDay(SiteSearch search);

	List<HashMap> getVendorDailyReportListMonth(SiteSearch search);

	List<HashMap> getVendorDailyReportListDaySUM(SiteSearch search);

	List<HashMap> getVendorDailyReportListMonthSUM(SiteSearch search);

	List<HashMap> getSiteReportList(SiteSearch search);

	List<HashMap> getSiteReportListSum(SiteSearch search);

	List<HashMap> getSiteReportMemList(SiteSearch search);

	List<HashMap> getSiteReportMemListSum(SiteSearch search);

	List<HashMap> getSiteReportListToDay(SiteSearch search);

	List<HashMap> getSiteReportListSumToDay(SiteSearch search);

	List<HashMap> getDashBoardList(SiteSearch search);

	List<HashMap> getDashBoardMonth(SiteSearch search);

	HashMap getYdayBetInfoBySite(Site targetSite);

	HashMap getMonthBetInfoBySite(Site targetSite);

	HashMap getYdayBetInfoByUser(HashMap<String, Object> targetUser);

	HashMap getMonthBetInfoByUser(HashMap<String, Object> targetUser);

	HashMap getVendorDailyReportMonthByParse(SiteSearch search);

	List<HashMap> getVendorDailyReportListDayByParse(SiteSearch search);

	HashMap getHybridReport(ReportSearch search);

	List<HashMap> getHybridReportList(@Valid ReportSearch search);

	HashMap getHybridReportTotal(@Valid ReportSearch search);
	
}
