package com.style24.admin.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Counsel;
import org.springframework.stereotype.Repository;

/**
 * 상담(1:1문의) Dao
 * 
 * @author gagamel
 * @since 2020. 12. 24
 */
@ShopDs
@Repository
public interface TsaCounselDao {

	/**
	 * 1:1문의 목록
	 * @param counsel -상담정보
	 * @return
	 * @author gagamel
	 * @since 2020. 12. 24
	 */
	Collection<Counsel> getOneToOneQnaList(Counsel counsel);
	

	/**
	 * 1:1문의 전체 카운트
	 * @param counsel -상담정보
	 * @return
	 * @author sowon
	 * @since 2021. 06. 28
	 */
	int getOneToOneQnaListCount(Counsel counsel);


	/**
	 * 1:1문의 상세
	 * @param counsel - 상담정보
	 * @return
	 * @author gagamel
	 * @since 2020. 12. 24
	 */
	Counsel getOneToOneQna(Counsel counsel);

	/**
	 * 문의 답변 저장
	 * @param counsel - 상담정보
	 * @author gagamel
	 * @since 2020. 12. 24
	 */
	void updateQnaAnswer(Counsel counsel);

	/**
	 * 상품문의 목록
	 * @param counsel -상담정보
	 * @return
	 * @author gagamel
	 * @since 2020. 12. 24
	 */
	Collection<Counsel> getGoodsQnaList(Counsel counsel);
	
	/**
	 * 상품문의 목록 카운트
	 * @param counsel -상담정보
	 * @return
	 * @author sowon
	 * @since 2021. 06. 28
	 */
	int getGoodsQnaListCount(Counsel counsel);

	/**
	 * 상품문의 상세
	 * @param counsel - 상담정보
	 * @return
	 * @author gagamel
	 * @since 2020. 12. 24
	 */
	Counsel getGoodsQna(Counsel counsel);

	/**
	 * 상품문의 답변의뢰 (입점상품인 경우)
	 * @param counsel - 상담 정보
	 * @author gagamel
	 * @since 2020. 12. 24
	 */
	void updateGoodsQnaAnswerTransfer(Counsel counsel);

}
