package com.style24.scm.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Brand;
import com.style24.persistence.domain.Color;
import com.style24.persistence.domain.CommonCode;
import com.style24.persistence.domain.Itemkind;
import com.style24.persistence.domain.SupplyCompany;

/**
 * 콤보박스, 체크박스, 라디오버튼 구성 시 필요한 Renderer Dao
 *
 * @author gagamel
 * @since 2020. 10. 19
 */
@ShopDs
public interface TssRendererDao {

	/**
	 * 공급업체 목록
	 * @param supplyComp
	 * @return 공급업체 목록
	 * @author gagamel
	 * @since 2020. 10. 7
	 */
	Collection<CommonCode> getSupplyCompanyList(SupplyCompany supplyComp);

	/**
	 * 공통코드 목록
	 * @param commoncode - 공통코드 정보
	 * @return 공통코드 목록
	 * @author gagamel
	 * @since 2020. 10. 7
	 */
	Collection<CommonCode> getCommonCodeList(CommonCode commoncode);

	/**
	 * 최상위메뉴 목록
	 * @param pmenuId - 상위메뉴ID
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 7
	 */
	Collection<CommonCode> getTopMenuList(String pmenuId);

	/**
	 * 전체 메뉴 목록
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 7
	 */
	Collection<CommonCode> getAllMenuList();

//	/**
//	 * 벤더외부몰 목록
//	 * @param vendorId - 벤더ID
//	 * @return 벤더외부몰 목록
//	 * @author gagamel
//	 * @since 2019. 12. 6
//	 */
//	Collection<CommonCode> getVendorExtmallList(String vendorId);
//
//	/**
//	 * 벤더외부몰판매매장 목록
//	 * @param vendorId - 벤더ID
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 4. 28
//	 */
//	Collection<CommonCode> getVendorExtmallSellStoreList(String vendorId);
//
	/**
	 * 브랜드 목록
	 * @param brand --브랜드 정보
	 * @return 브랜드 목록
	 * @author eskim
	 * @since 2020. 10. 20
	 */
	Collection<CommonCode> getBrandList(Brand brand);

	/**
	 * 권한별 브랜드 목록
	 * @param userId - 사용자ID
	 * @return
	 * @author eskim
	 * @since 2019. 6.17
	 */
	Collection<CommonCode> getAuthBrandList(int userNo);

//	/**
//	 * 정보고시 목록
//	 * @param goodsCd
//	 * @return
//	 * @author jaewonHo
//	 * @param goodsCd
//	 * @since 2019. 12. 6
//	 */
//	Collection<CommonCode> getCateInfoList(String goodsCd);
//
	/**
	 * 품목 목록
	 * @param itemkind
	 * @return
	 * @author eskim
	 * @since 2020. 10. 19
	 */
	Collection<CommonCode> getItemkindList(Itemkind itemkind);

//	/**
//	 * 브랜드그룹 목록
//	 * @return
//	 * @author eskim
//	 * @since 2019. 12. 10
//	 */
//	Collection<CommonCode> getBrandGroupList();
//
	/**
	 * 컬러 목록
	 * @param color
	 * @return
	 * @author eskim
	 * @since 2020. 10. 16
	 */
	Collection<CommonCode> getColorList(Color color);

//
//	/**
//	 * 사용중 대카테고리 목록
//	 * @param cateGb
//	 * @return
//	 * @author sasa004
//	 * @since 2020. 01. 02
//	 */
//	Collection<CommonCode> getTCategoryList(String cateGb);
//
	/**
	 * 브랜드에 등록된 MD 목록
	 * @return MD 목록
	 * @author eskim
	 * @since 2020. 10. 19
	 */
	Collection<CommonCode> getBrandMdList();

	/**
	 * 택배사명 목록 조회
	 * @return CommonCode
	 * @author moon
	 * @since 2020. 11. 05
	 */
	Collection<CommonCode> getShipCompanyList();
//
//	/**
//	 * MD별 브랜드 목록 조회
//	 * @param mdId
//	 * @return CommonCode
//	 * @author jaewonHo
//	 * @since 2020. 02. 04
//	 */
//	Collection<CommonCode> getMdBrandList(String mdId);
//
//	/**
//	 * MD별 브랜드 목록 조회
//	 * @param mdId
//	 * @return CommonCode
//	 * @author jaewonHo
//	 * @since 2020. 02. 04
//	 */
//	Collection<CommonCode> getMdBrandGrpList(String mdId);
//
//	/**
//	 * 인스타그램 계정리스트 조회
//	 * @return Collection<CommonCode>
//	 * @author 이명철
//	 * @since 2020. 3. 18.
//	 */
//	Collection<CommonCode> getInstaAccount();
//
//	/**
//	 * 판매몰조회
//	 * @return
//	 * @author swkim
//	 * @since 2020. 03. 19
//	 */
//	Collection<CommonCode> getSellStoreList();
//
//	/**
//	 * 기본답변문구 제목 조회
//	 * @param ansClsf
//	 * @return
//	 * @author yujung
//	 * @since 2020. 04. 02
//	 */
//	Collection<CommonCode> getBasicAnsTitleList(String ansClsf);
//
//	/**
//	 * 제휴링크 목록
//	 * @param afChannel - 제휴채널
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 5. 4
//	 */
//	Collection<CommonCode> getAflinkList(String afChannel);

	/**
	 * 색상그룹코드 RGB 목록
	 *
	 * @param
	 * @return 코드설명 목록
	 * @author eskim
	 * @since 2020. 10. 16
	 */
	Collection<CommonCode> getColorGrpCdRgbList();

	/**
	 * 업체별 배송비정책 목록
	 *
	 * @param supplyCompCd - 업체코드
	 * @return 배송비정책 목록
	 * @author eskim
	 * @since 2020. 11. 24
	 */
	Collection<CommonCode> getSupplyDeliveryFeePolicyList(String supplyCompCd);

}
