package com.style24.front.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.RecentlyGoods;

/**
 * 최근본상품 Dao
 * 
 * @author gagamel
 * @since 2021. 5. 13
 */
@ShopDs
public interface TsfRecentlyGoodsDao {

	/**
	 * 최근본상품 총건수
	 * @param recentlyGoods - 최근본상품 정보
	 * @author gagamel
	 * @date 2021. 5. 13
	 */
	int getRecentlyGoodsTotalCount(RecentlyGoods recentlyGoods);

	/**
	 * 맨 처음 등록된 최근본상품 삭제
	 * @param recentlyGoods - 최근본상품 정보
	 * @author gagamel
	 * @date 2021. 5. 13
	 */
	void deleteRecentlyFirstGoods(RecentlyGoods recentlyGoods);

	/**
	 * 최근본상품 저장
	 * @param recentlyGoods - 최근본상품 정보
	 * @author gagamel
	 * @date 2021. 5. 13
	 */
	void createRecentlyGoods(RecentlyGoods recentlyGoods);

	/**
	 * 로그인 후 최근본상품 Update
	 * @param recentlyGoods - 최근본상품 정보
	 * @author gagamel
	 * @since 2021. 5. 13
	 */
	void updateRecentlyGoodsAfterLogin(RecentlyGoods recentlyGoods);

	/**
	 * 최근본상품 목록
	 * @param recentlyGoods - 최근본상품 정보
	 * @return
	 * @author gagamel
	 * @date 2021. 5. 13
	 */
	Collection<RecentlyGoods> getRecentlyGoodsList(RecentlyGoods recentlyGoods);
	
	/**
	 * 최근 본 상품 목록 등록 여부 
	 * @param recentlyGoods - 최근본상품 정보
	 * @return
	 * @author sowon
	 * @date 2021. 6. 23
	 */
	int getRecentlyGoodsOwnCount(RecentlyGoods recentlyGoods);

	/**
	 * 기존 최근 본 상품 update
	 * @param recentlyGoods - 최근본상품 정보
	 * @author sowon
	 * @date 2021. 6. 23
	 */
	void updateRecentlyGoods(RecentlyGoods recentlyGoods);


}
