package com.style24.batch.biz.dao;

import java.util.Collection;
import java.util.Map;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Erp;
import com.style24.persistence.domain.SalesSms;

import com.gagaframework.web.parameter.GagaMap;

/**
 * 통계 Dao
 *
 * @author eskim
 * @since 2020. 12. 03
 */
@ShopDs
public interface TsbStatisticsDao {

	/**
	 * 사이트 제휴코드 유입집계
	 *
	 * @author eskim
	 * @since 2020. 12. 03
	 */
	int createInflowDaily(String inflowDt);

	int createOrderDaily(String currDay);

	int createOrderDateTime(String currDay);

	int createStatPay(String currDay);

	int createStatSubPay(String currDay);

	/**
	 * 당일 매출문자 조회
	 * @return
	 * @author gagamel
	 * @since 2021. 8. 14
	 */
	SalesSms getCurrentDaySalesSms();

	/**
	 * 어제일자 매출반영목록 생성
	 * @param erpGb - ERP구분(hsmk:한세MK, hsdr:한세드림)
	 * @return
	 * @author gagamel
	 * @since 2021. 8. 27
	 */
	int createYesterdaySalesUploadList(String erpGb);

	/**
	 * 매출반영 총건수
	 * @param erpGb - ERP구분(hsmk:한세MK, hsdr:한세드림)
	 * @return
	 * @author gagamel
	 * @since 2021. 8. 27
	 */
	int getSalesUploadTotalCount(String erpGb);

	/**
	 * 매출반영 목록
	 * @param erp - ERP 정보
	 * @return
	 * @author gagamel
	 * @since 2021. 8. 27
	 */
	Collection<GagaMap> getSalesUploadList(Erp erp);

	/**
	 * 매출반영I/F번호 조회
	 * @param erpGb - ERP구분(hsmk:한세MK, hsdr:한세드림)
	 * @return
	 * @author gagamel
	 * @since 2021. 8. 27
	 */
	String getSalesUploadInterfaceNo(String erpGb);

	/**
	 * 매출반영목록 I/F번호 Update
	 * @param paramMap - ERP 정보
	 * @author gagamel
	 * @since 2021. 8. 30
	 */
	void updateSalesUploadListInterfaceNo(GagaMap paramMap);

	/**
	 * 매출반영결과 처리
	 * @param paramMap - 매출결과 정보
	 * @author gagamel
	 * @since 2021. 8. 27
	 */
	void updateSalesUploadResult(Map<String, Object> paramMap);

}
