package com.style24.admin.biz.dao;

import java.util.Collection;

import com.gagaframework.web.parameter.GagaMap;
import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.ExtmallOrder;
import com.style24.persistence.domain.ShoplinkerGoods;
import com.style24.persistence.domain.ShoplinkerInvoice;
import com.style24.persistence.domain.ShoplinkerOrder;
import com.style24.persistence.domain.ShoplinkerSearch;

/**
 * 샵링커 Dao
 *
 * @author jmh
 * @since 2021. 5. 20
 */
@ShopDs
public interface TsaShoplinkerDao {

	/**
	 * 상품등록-단품 목록 조회
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<ShoplinkerGoods> getOptionList(ShoplinkerGoods shoplinkerSearch);

	/**
	 * 상품등록-상품 상세
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	ShoplinkerGoods getGoods(ShoplinkerGoods shoplinkerSearch);

	/**
	 * 상품등록-상품 이미지 조회
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<ShoplinkerGoods> getGoodsImageList(ShoplinkerGoods shoplinkerSearch);

	/**
	 * 상품등록-상품 사이즈 조회
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<ShoplinkerGoods> getGoodsSizeList(ShoplinkerGoods shoplinkerSearch);

	/**
	 * 상품등록-고시정보
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<ShoplinkerGoods> getGoodsNotiList(ShoplinkerGoods shoplinkerSearch);

	/**
	 * 상품등록-인증정보
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	ShoplinkerGoods getCert(ShoplinkerGoods shoplinkerSearch);

	/**
	 * 상품등록-상품 목록 건수
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	int getGoodsSendListCount(ShoplinkerSearch shoplinkerSearch);

	/**
	 * 상품등록-상품 목록
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<ShoplinkerGoods> getGoodsSendList(ShoplinkerSearch shoplinkerSearch);

	/**
	 * 상품등록-상품 목록 엑셀
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<GagaMap> getGoodsSendExcelList(ShoplinkerSearch shoplinkerSearch);

	/**
	 * 재고-단품 등록
	 *
	 * @param shoplinkerGoods
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	void insertStockOption(ShoplinkerGoods shoplinkerGoods);

	/**
	 * 재고전송-목록 건수
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	int getStockListCount(ShoplinkerSearch shoplinkerSearch);

	/**
	 * 재고전송-목록
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<ShoplinkerGoods> getStockList(ShoplinkerSearch shoplinkerSearch);

	/**
	 * 재고- 목록 엑셀
	 *
	 * @param shoplinkerSearch
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<GagaMap> getStockExcelList(ShoplinkerSearch shoplinkerSearch);


	/**
	 * 샵링커주문수집-목록 건수
	 *
	 * @param shoplinkerOrder
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	int getShoplinkerOrderListCount(ShoplinkerOrder shoplinkerOrder);

	/**
	 * 샵링커주문수집-목록
	 *
	 * @param shoplinkerOrder
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<ShoplinkerOrder> getShoplinkerOrderList(ShoplinkerOrder shoplinkerOrder);

	/**
	 * 샵링커주문수집-상세
	 *
	 * @param shoplinkerOrder
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	ShoplinkerOrder getShoplinkerOrderInfo(ShoplinkerOrder shoplinkerOrder);

	/**
	 * 샵링커주문수집-제휴몰 주문등록 상세
	 *
	 * @param extmallOrder
	 * @return
	 * @author jmh
	 * @since 2021. 5. 31
	 */
	ExtmallOrder getExtmallOrderInfo(String extmallOrder);

	/**
	 * 샵링커주문수집- 엑셀
	 *
	 * @param shoplinkerOrder
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<GagaMap> getOrderExcelList(ShoplinkerOrder shoplinkerOrder);

	/**
	 * 송장전송-전송 목록 건수
	 *
	 * @param shoplinkerInvoice
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	int getSendInvoiceListCount(ShoplinkerInvoice shoplinkerInvoice);

	/**
	 * 송장전송-전송 목록
	 *
	 * @param shoplinkerInvoice
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<ShoplinkerInvoice> getSendInvoiceList(ShoplinkerInvoice shoplinkerInvoice);

	/**
	 * 송장- 목록 엑셀
	 *
	 * @param shoplinkerInvoice
	 * @return
	 * @author jmh
	 * @since 2021. 5. 20
	 */
	Collection<GagaMap> getInvoiceExcelList(ShoplinkerInvoice shoplinkerInvoice);

}
