package com.style24.admin.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Review;
import com.style24.persistence.domain.ReviewAttach;

/**
 * 상품평 Dao
 *
 * @author gagamel
 * @since 2021. 1. 25
 */
@ShopDs
public interface TsaReviewDao {

	/**
	 * 상품평 목록
	 * @param review - 상품평 정보
	 * @return
	 * @author gagamel
	 * @since 2021. 1. 25
	 */
	Collection<Review> getReviewList(Review review);

	/**
	 * 상품평 정보
	 * @param reviewSq - 상품평일련번호
	 * @return
	 * @author gagamel
	 * @since 2021. 4. 22
	 */
	Review getReview(Integer reviewSq);

	/**
	 * 상품평 첨부파일 목록
	 * @param reviewSq - 상품평일련번호
	 * @return
	 * @author gagamel
	 * @since 2021. 4. 22
	 */
	Collection<ReviewAttach> getReviewAttachList(Integer reviewSq);

	/**
	 * 상품평 관리자 답변 저장
	 * @param review - 상품평 정보
	 * @author gagamel
	 * @since 2021. 4. 22
	 */
	void updateReviewUserReply(Review review);

	/**
	 * 동영상상품평포인트 생성
	 * @param review - 상품평 정보
	 * @author gagamel
	 * @since 2021. 5. 17
	 */
	void createVideoReviewPoint(Review review);

	/**
	 * 동영상상품평포인트이력 생성
	 * @param review - 상품평 정보
	 * @author gagamel
	 * @since 2021. 5. 17
	 */
	void createVideoReviewPointHistory(Review review);

	/**
	 * 상품평 동영상 노출 처리
	 * @param review - 상품평 정보
	 * @author gagamel
	 * @since 2021. 4. 22
	 */
	void updateVideoReviewDisplay(Review review);

	/**
	 * 베스트상품평포인트 생성
	 * @param review - 상품평 정보
	 * @author gagamel
	 * @since 2021. 4. 27
	 */
	void createBestReviewPoint(Review review);

	/**
	 * 베스트상품평포인트이력 생성
	 * @param review - 상품평 정보
	 * @author gagamel
	 * @since 2021. 4. 27
	 */
	void createBestReviewPointHistory(Review review);

	/**
	 * 베스트상품평 선정 처리
	 * @param review - 상품평 정보
	 * @author gagamel
	 * @since 2021. 4. 27
	 */
	void updateBestReviewSelection(Review review);

}
