package com.style24.core.biz.dao;

import java.util.Collection;

import com.style24.persistence.domain.LookbookBanner;
import org.springframework.stereotype.Repository;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Lookbook;
import com.style24.persistence.domain.LookbookGoods;

/**
 * 룩북 Dao
 *
 * @author bin2107
 * @since 2020. 03. 05
 */
@ShopDs
@Repository
public interface TscLookbookDao {
	/**
	 * 룩북 등록/수정
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 5
	 */
	void saveLookbook(Lookbook lookbook);

	/**
	 * 룩북 리스트 카운트
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 5
	 */
	int getLookbookListCount(Lookbook lookbook);

	/**
	 * 룩북 리스트
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 5
	 */
	Collection<Lookbook> getLookbookList(Lookbook lookbook);

	/**
	 * 룩북 리스트(brand)
	 * @return
	 * @author bin2107
	 * @since 2021. 5. 15
	 */
	Collection<Lookbook> lookbookBrandList(Lookbook lookbook);

	/**
	 * 룩북 삭제
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 5
	 */
	void deleteLookbook(Lookbook lookbook);

	/**
	 * 룩북 배너 등록
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 8
	 */
	void saveLookbookBanner(LookbookBanner lookbookBanner);

	/**
	 * 룩북 마스터정보 조회
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 8
	 */
	Lookbook getLookbookMstInfo(Integer lookbookSq);

	/**
	 * 룩북 배너 리스트
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 8
	 */
	Collection<LookbookBanner> getLookbookBannerDetailList(Integer lookbookSq);

	/**
	 * 룩북 배너 삭제
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 8
	 */
	void deleteLookbookBanner(Integer lookbookSq);

	/**
	 * 룩북 배너 피커 등록/수정
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 9
	 */
	void saveLookbookPicker(LookbookGoods lookbookGoods);

	/**
	 * 룩북 메인룩북 삭제
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 15
	 */
	void deleteLookbookMainDispYn(Lookbook lookbook);

	/**
	 * 룩북 메인룩북 등록
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 25
	 */
	void updateLookbookMainDispYn(Lookbook lookbook);

	/**
	 * 룩북 배너 피커 리스트
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 9
	 */
	Collection<LookbookGoods> getLookbookBannerPickerList(Integer lookbookbSq);

	/**
	 * 룩북 배너 피커 삭제
	 * @return
	 * @author bin2107
	 * @since 2021. 3. 9
	 */
	void deleteLookbookPicker(Integer lookbookbSq);

	/**
	 *  front 영역
	 */

	/**
	 * 룩북 베너 목록
	 *
	 * @param lookbook
	 * @return
	 * @author eskim
	 * @date 2021. 2. 18
	 */
	Collection<Lookbook> getLookbookBannerList(Lookbook lookbook);

	/**
	 * 룩북 베너별 상품 목록
	 *
	 * @param lookbook
	 * @return
	 * @author eskim
	 * @date 2021. 2. 18
	 */
	Collection<LookbookGoods> getLookbookBannerGoodsList(Lookbook lookbook);

	/**
	 * 다른 룩북 조회
	 * @param lookbook
	 * @return
	 * @author bin2107
	 * @since 2021. 4. 6
	 */
	Collection<Lookbook> getOtherLookbookList(Lookbook lookbook);
}
