package com.style24.front.biz.dao;

import java.util.Collection;

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

/**
 * 상품권 Dao
 * 
 * @author gagamel
 * @since 2020. 12. 29
 */
@ShopDs
public interface TsfGiftcardDao {

	/**
	 * 상품권정보 조회
	 *
	 * @param GiftCard
	 * @author sowon
	 * @since 2021. 3. 12
	 */	
	GiftCard getGiftcardInfo(GiftCard giftcard);
	
	/**
	 * 상품권 사용 정보 조회
	 *
	 * @param GiftCard
	 * @author sowon
	 * @since 2021. 3. 12
	 */	
	Collection<GiftCard> getGiftcardUseList(GiftCard giftcard);
	
	/**
	 * 상품권 보유 정보 조회
	 *
	 * @param GiftCard
	 * @author sowon
	 * @since 2021. 3. 12
	 */	
	Collection<GiftCard> getGiftcardOwnList(GiftCard giftcard);
	
	/**
	 * 상품권정보 저장
	 *
	 * @param GiftCard
	 * @author sowon
	 * @since 2021. 3. 15
	 */	
	 void createGiftcardUseConfirm(GiftCard giftcard);
	 
	 /**
	 * 상품권 api 저장
	 *
	 * @param GiftCard
	 * @author sowon
	 * @since 2021. 3. 15
	 */
	 void saveGiftcardApi(GiftCard giftcard);
	 
	 /**
	 * 상품권 최근 12개월 년 월
	 *
	 * @param 
	 * @author sowon
	 * @since 2021. 3. 30
	 */
	 Collection<GiftCard> getRecentlyDate();
	 
	 /**
	 * 상품권 CUST_GFCD_SQ
	 *
	 * @param 
	 * @author sowon
	 * @since 2021. 4. 19
	 */
	 int getCustGiftCardSq(String gfcdNo);
	 
	 /**
	 * 상품권 hst insert
	 *
	 * @param 
	 * @author sowon
	 * @since 2021. 4. 19
	 */
	 void createCustGiftcardHistory(GiftCard giftcard);

	/**
	 * 상품권 KCP 현금영수증 신청 정보 조회
	 * 
	 * @param GiftCard
	 * @return GiftCard
	 * @author card007
	 * @since 2021. 04. 25
	 */
	GiftCard getCashReceiptsInfo(GiftCard giftCard);

	/**
	 * 상품권 KCP 현금영수증 신청 여부 조회
	 *
	 * @param Order
	 * @return GiftCard
	 * @author card007
	 * @since 2021. 04. 25
	 */
	GiftCard getCashReceiptsRequestInfo(Order order);
}
