package com.style24.front.biz.dao;

import java.util.Collection;

import org.springframework.stereotype.Repository;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.InflowHst;
import com.style24.persistence.domain.Order;
import com.style24.persistence.domain.SupplyCompany;

/**
 * 공통 Dao
 *
 * @author eskim
 * @since 2021. 02. 09
 */
@ShopDs
@Repository
public interface TsfCommonDao {

//	/**
//	 * 사이트명 조회
//	 *
//	 * @param siteCd - 사이트코드
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 5. 26
//	 */
//	String getSiteName(String siteCd);

	/**
	 * 웹제휴채널이력 생성
	 * @param inflow - 유입경로 정보
	 * @author eskim
	 * @date 2021. 02. 09
	 */
	void createInflowHistory(InflowHst inflow);

	/**
	 * 웹제휴채널명 조회
	 * @param afLinkCd - 웹제휴링크코드
	 * @return
	 * @author gagamel
	 * @since 2021. 3. 30
	 */
	String getAfLinkName(String afLinkCd);

	/**
	 * 유효한 웹제휴채널 여부 조회
	 * @return Y/N
	 * @author gagamel
	 * @since 2021. 8. 31
	 */
	String getAvailableAfLinkYn(String afLinkCd);

//	/**
//	 * 기본답변문구내용 조회
//	 *
//	 * @param ansSq - 답변일련번호
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 3. 30
//	 */
//	TsfBasicAnswer getBasicAnswer(TsfBasicAnswer basicAnswer);
//
//	/**
//	 * 앱 기기 등록
//	 *
//	 * @param
//	 * @return
//	 * @author sasa004
//	 * @since 2020. 08. 10
//	 */
//	void saveMobileDevice(TsfMobileDevice mobileDevice);

	/**
	 * 주문배송지정보수정
	 *
	 * @param
	 * @return
	 * @author jsh77b
	 * @since 2021. 04. 02
	 */
	int updateDeliverAddr(Order order);

	/**
	 * 주문배송지정보수정
	 *
	 * @param
	 * @return
	 * @author jsh77b
	 * @since 2021. 04. 02
	 */
	int updateDeliverAddrDelvMemo(Order order);

	/**
	 * 검색엔진 연동 여부
	 * @return
	 * @author gagamel
	 * @since 2021. 6. 3
	 */
	String getSearchEngineSyncYn();

	/**
	 * 공급업체 총 건수
	 *
	 * @return int - 건수
	 * @author jsshin
	 * @since 2021. 06. 10
	 */
	int getSupplyCompanyCount();

	/**
	 * 공급업체 목록
	 *
	 * @param supplyCompany - 페이징 정보
	 * @return Collection<SupplyCompany> - 목록
	 * @author jsshin
	 * @since 2021. 06. 10
	 */
	Collection<SupplyCompany> getSupplyCompanyList(SupplyCompany supplyCompany);

}
