package com.bb.dao;

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

import jakarta.validation.Valid;

import com.bb.model.CashParam;
import com.bb.model.Credit;
import com.bb.model.CreditPoint;
import com.bb.model.CreditPointSearch;
import com.bb.model.CreditSearchVO;
import com.bb.model.Insure;
import com.bb.model.SiteSearch;

public interface CreditDao {

	void insertCredit(Credit credit);

	void insertCreditByCash(Credit credit);

	void setSiteCreditUpdate(HashMap param);

	int getCreditListCnt(SiteSearch search);

	List<HashMap> getCreditList(SiteSearch search);

	int getSiteTranListCnt(SiteSearch search);

	List<HashMap> getSiteTranList(SiteSearch search);

	void updateStatus(Credit credit);

	int getPointListCnt(SiteSearch search);

	List<HashMap> getPointList(SiteSearch search);

	int getSiteBetListCnt(SiteSearch search);

	List<HashMap> getSiteBetList(SiteSearch search);

	void updateInsureStatus(Insure insure);

	void insertInsure(Insure insure);

	HashMap getMyInsureInfo(int siteIdx);
	
	HashMap getMyRateInfo(int siteIdx);

	int getInsureListCnt(SiteSearch search);

	List<HashMap> getInsureList(SiteSearch search);

	HashMap getCreditSumToday(SiteSearch search);

	void updateSetStatus(Credit credit2);

	void updateCreditYn(Credit credit);
	
	String getRoundIdByGsoft(String refId);
	
	void insertCreditAiAo(Credit credit);

	void insertCreditPoint(HashMap pointParam);

	int insertPoint(CreditPoint point);

	int checkRequestTime(Credit credit);

	int getCashInOutListCnt(CashParam param);

	List<HashMap> getCashInOutList(CashParam param);

	int getTransCreditListCnt(CreditSearchVO search);

	List<HashMap<String, Object>> getTransCreditList(CreditSearchVO search);

	int getTotalTransactionListCnt(CreditSearchVO search);

	List<HashMap<String, Object>> getTotalTransactionList(CreditSearchVO search);

	int getCreditPointListCnt(@Valid CreditPointSearch search);

	List<HashMap<String, String>> getCreditPointList(@Valid CreditPointSearch search);

	int getCreditBetListCnt(@Valid CreditPointSearch search);

	List<HashMap<String, String>> getCreditBetList(@Valid CreditPointSearch search);

	int getStatCreditListCnt(SiteSearch search);

	List<HashMap> getStatCreditList(SiteSearch search);

	HashMap getStatCreditTotal(SiteSearch search);

	void updateSubCredit(Credit credit);

}
