package com.bb.service;

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

import jakarta.servlet.http.HttpServletRequest;

import org.springframework.security.core.Authentication;

import com.bb.model.BalanceParam;
import com.bb.model.BetParam;
import com.bb.model.BoardSearch;
import com.bb.model.CashParam;
import com.bb.model.CommonParam;
import com.bb.model.Game;
import com.bb.model.Member;
import com.bb.model.OTPInfo;
import com.bb.model.Site;
import com.bb.model.SitePwdVO;
import com.bb.model.SiteSearch;
import com.bb.model.TrfApiInfo;
import com.bb.model.UserSearch;
import com.bb.model.Vendor;
import com.bb.model.VendorChangeBalanceLogVo;

public interface SiteService {

	Site getSiteInfo(HttpServletRequest request);

	Site getSiteInfoAPI(HttpServletRequest request);

	Member getMember(CommonParam commonParam);

	Member getMember2(CashParam param);

	void insertMember(CommonParam commonParam);

	HashMap getVenderApiInfo(CommonParam commonParam);

	void commonBetinsert(HashMap tranParam);

	void commonBetinsert2(HashMap tranParam);

	List<HashMap> getCbList();

	int updateCbApi(HashMap upParam);

	HashMap getSiteApiInfo(HashMap sParam);

	HashMap getSiteApiInfo2(HashMap sParam);

	Site getSiteLogin(Authentication authentication);

	Site getSiteLoginApi(Map loginParam);

	Site getGuestLogin();

	int getSiteListCnt(SiteSearch search);
	List<HashMap> getSiteList(SiteSearch search);

	void addProc(Site site);

	void addProcAPI(Site site);

	Site getSiteInfoMypage(Site loginSite);

	long getSiteCredit(String siteId);

	long getUnderSiteCredit(String siteId);

	long getSitePoint(String siteId);

	HashMap getCreditWait(int i);

	int getSiteUserListCnt(SiteSearch search);

	List<HashMap> getSiteUserList(SiteSearch search);

	int getTranCheck(String tranId);

	void insertError(HashMap eParam);

	int getFinalErr(String refId);

	void updateSid(Member member);

	long getInsureAmt(String siteId);

	long getInsurePointAmt(String siteId);

	List<HashMap> getVenderRateList(Site loginSite);

	int getBetCancelCount(String betId);

	void updateBombKey(Member member);

	Member getMemByBombAccId(HashMap memParam);

	String getBetInfo(BetParam param);

	String getMergedBetRadarLog(String betId);

	List<HashMap> getSiteFlow(Site loginSite);

	void saveVendorRate(HashMap paramMap);

	HashMap getEvoApiInfo();

	String getSiteIdByRefId(String refId);

	void updateDetailLastTime(HashMap evoInfo);

	void insertBetDetail(Map paramDerail);

	Site getSiteDetail(SiteSearch search);

	Site getSiteSimpleDetail(SiteSearch search);

	HashMap getVenderApiInfoByToken(Map paramV);

	Site getSiteBypassword(Map siteParam);

	void updatePass(Map siteParam);

	void siteUpdate(String LOG_PREFIX, Site site);

	void saveVendorInsurePointRate(HashMap paramMap);

	HashMap getDashInfo(Site loginSite);

	HashMap getDashInfo2(Site loginSite);

	HashMap getMicroApiInfo();

	int getApiStatus(HashMap tranParam);

	void saveVendorInsureRate(HashMap paramMap);

	void updateVendorUseYn(HashMap paramMap);

	List<HashMap> getSiteVendorList(SiteSearch search);

	List<HashMap> getVendorList(SiteSearch search);

	void siteVenderUpdate(Vendor vendor);

	HashMap getDowinApiInfo();

	long getSiteMaxBet(HashMap sParam);

	Long getUserMaxBet(HashMap sParam);

	int getBetCheckByHc(String refId);

	void updatePragmaticId(Member member);

	HashMap getProgmaticApiInfo();

	HashMap getProgmaticApiInfo2();

	HashMap getSiteApiInfoByPra(HashMap sParam);

	String getlastDepostId(HashMap dParam);

	List<HashMap> getNotUseMemberListProgama();

	List<Game> getGameList(HashMap param);

	HashMap getOnlyVenderInfo(CommonParam commonParam);

	int getBotaAutoCancelCnt(String tranId);

	int getBotaBetCnt(String tranId);

	List<HashMap> getBotaBetListMinute();

	String getSiteIdByRefId2(String string);

	int getTranIdCheck(String string);

	int getTranIdCheck2(String string);

	HashMap getSiteMember(String string);

	void updateDebitCancel(String refId);

	void insertSiteCallBackLog(HashMap logParam);

	List<HashMap> getBetList(BetParam param);

	List<HashMap> getMonsterGameList();

	HashMap getProgmaticApiInfo3(String string);

	long getBetCancelAmt(String string);

	int getBetIdCheck(String refId);

	int getBetIdCheck2(String refId);

	int getTranCheck2(String string);

	void insertSlotCity(HashMap slotMap);

	void botaAutoCancel(HashMap tranParam);

	void seattleCredit();

	void updateDecimal(HashMap decimalParam);

	List<HashMap> getonlyDebitList();

	void insertAutoLose(HashMap loseCredit);

	HashMap getBetCheck(BetParam param);

	int callbackTokenCheck(String header);

	HashMap getVenderInfo(BalanceParam param);

	String getRefIdByTranId(String string);

	List<HashMap> getCreditReSendList();

	void updateMemCancelCnt(long memberIdx);

	Long getMemberIdx(HashMap memParam);

	int insertVendorChangeBalanceLog(VendorChangeBalanceLogVo logVo);

	HashMap getGsoftVendorInfo(String gameID);

	HashMap getDemoByBombAccId(HashMap memParam);

	void inserDemoUSer(String bombToken);

	void updateDemoUSer(HashMap memParam);

	List<HashMap> getTrasferVendorList();

	List<HashMap> getAllMember();

	int gethourBetCheck(long member);

	List<HashMap> getAllMember2();

	HashMap getUserVendorInfo(HashMap memParam);

	Member getMemberByToken(Map authParam);

	HashMap getSiteApiInfoByToken(Map authParam);

	double getBetDepositAmt(String string);

	void insertSplusTran(Map trxParam);

	void updateSplusTran(Map trxParam);

	String getCbData(String reserve_id);

	void updatesPurchaseId(Map trxParam);

	double getBetGapAmt(String string);

	void insertToken(String base64Token);

	int getSplusToken(String base64Token);

	String getRefIdByPurchaseId(String purchase_id);

	List<HashMap> getSplusDetailData(BetParam param);

	String getKorName(String string, String homeTeam);

	void forDefaultProc(Site site);

	HashMap getBetInfoByTranId(String reference);

	int getSuccDebitCnt(String betId);

	HashMap<String, String> getSiteVendorInfo(HashMap param);

	int updatePowerballApiInfo(HashMap<String, String> registParam);

	List<HashMap<String, String>> getPowerBallInfoList(String gameType);

	HashMap<String, String> getSiteApiInfoByApiKey(HashMap param);

	HashMap<String, String> getSiteApiInfoByCallbackKey(HashMap param);

	int updMemLastVendorIdx(HashMap memParam);

	List<HashMap> getVendorListByVendorKey(HashMap venderInfo);

	void vendorUpdate(HashMap venderInfo);

	List<HashMap> getNexusSkinListByVendorKey(HashMap venderInfo);

	void nexusSkinUpdate(HashMap venderInfo);

	String getParseTarget();

	String getParseTargetExtr();

	HashMap getParseUseYn(int siteIdx);

	void insertParseUse(HashMap parseParam);

	List<HashMap> getApiBetVendorList(int siteIdx);

	int getApiBetTransactionCnt(BetParam param);

	List<HashMap> getApiBetTransactionList(BetParam param);

	HashMap getParseUserYn(HashMap pum);

	void setParseUserYn(HashMap pum);

	OTPInfo getOtpInfo(long siteIdx);

	OTPInfo getOtpInfoByManger(long siteIdx);

	int registSuperOtp(OTPInfo param);

	HashMap<String, String> getSiteOnlyVendorInfo(HashMap vendorParam);

	TrfApiInfo getTrfApiInfo(HashMap mapParam);

	void agentIpsUpdate(Site site);

	int insertEvoDetail(HashMap detailMap);

	HashMap getCommonApiInfo(HashMap commonParam);

	HashMap<String, String> getBeforeTranInfo(String vendorTranKey);

	List<HashMap> getParseTargetGame(String gameType);

	String getOrgDetailData(BetParam param);

	String getParDetailData(BetParam param);

	HashMap<String, Object> getBetInfoByTranKey(String vendorTranKey);

	HashMap<String, String> getParseInfo(HashMap param);

	int getBlockParseGameId(String gameId);

	HashMap<String, String> getBeforeTranInfo2(String vendorTranKey);

	String getMemberByIdx(HashMap memParam);

	List<HashMap> getSiteVendorList2(int siteIdx);

	List<HashMap> getVendorList2(int siteIdx);

	void saveSvcr(HashMap paramMap, int type);

	String getSiteKey(HashMap paramMap);

	String getVendorTitle(HashMap paramMap);

	Long getUserTimeout(HashMap accLog);

	int updateUserTimeout(HashMap accLog);

	String getGameKeyByNexusGameId(String gameId);

	String getDebitIsParse(String betId);

	int updateParseUseYN(String useYn);

	int insertTheaTrxId(HashMap param);

	HashMap<String, String> getApiKeyInfo(String vendorTitle);

	HashMap<String, String> getApiKeyInfo2(HashMap<String, String> keyParam);

	HashMap<String, Object> getRefBetInfoByTranId(String tranId);

	int updMemberBalance(HashMap balanceMap);

	int getMemberBalance(HashMap balanceMap);

	HashMap<String, String> getMemberId(String vendorUsername);

	int checkMemberId(String vendorUsername);

	HashMap getNewSiteApiInfo(String vendorUsername);

	HashMap getNewSiteVendorInfo(HashMap param);

	int updateTestCnt(Site site);

	int updateParseEvoYn(HashMap param);

	int saveParsEvoAmount(SiteSearch param);

	int getUserBalance(HashMap balanceMap);

	List<HashMap> getMyDownSite(SiteSearch search);

	HashMap<String, String> getCreditInfo(String siteId);

	int checkDownSite(Map checkDown);

	List<HashMap> getSiteTreeList(String siteId);

	int getMyDownSiteCheck(Site targetsite);

	void siteUpdateForAPI(Site site);

	int updateSitePwd(SitePwdVO sitePwdVO);

	Site getSite(Site addsite);

	void siteVenderLobbyUpdate(Vendor vendor);

	List<HashMap> getVendorMapList(SiteSearch search);

	String siteVenderRate(Vendor vendor);

	int getBoardListCnt(BoardSearch search);

	List<HashMap<String, Object>> getBoardList(BoardSearch search);

	HashMap<String, Object> getBoardDetail(long boardIdx);

	int getSiteCallbackErrLogListCnt(SiteSearch search);

	List<HashMap> getSiteCallbackErrLogList(SiteSearch search);

	int getUserListCnt(UserSearch search);

	List<HashMap<String, Object>> getUserList(UserSearch search);

	HashMap<String, Object> getUserDetail(UserSearch search);

	int getSiteListCntForApi(SiteSearch search);

	List<HashMap> getSiteListForApi(SiteSearch search);

	Site getSiteDetailForApi(SiteSearch search);

	List<HashMap> getVendorListForApi(SiteSearch search);

	List<HashMap> getSiteVendorListForApi(SiteSearch search);

	HashMap getRefIdByVendorTranKey(String vendorTranKey);

	int updateUserMaxBet(HashMap param);

	int insertTranLog(HashMap logParam);

	HashMap getSiteSubCredit(String siteId);

	String getBetAmountByTranParam(HashMap param);

}
