package com.style24.front.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.GiftCard;
import com.style24.persistence.domain.Order;
import com.style24.persistence.domain.OrderChange;
import com.style24.persistence.domain.Point;

/**
 * 주문 변경 Dao
 * 
 * @author card007
 * @since 2021. 02. 26
 */
@ShopDs
public interface TsfOrderChangeDao {

	/**
	 * 마이페이지 취소 목록 조회
	 *
	 * @param Order
	 * @return Collection<Order>
	 * @author card007
	 * @since 2021. 03. 19
	 */
	Collection<Order> getCancelListForMypage(Order order);

	/**
	 * 마이페이지 반품 목록 조회
	 *
	 * @param Order
	 * @return Collection<Order>
	 * @author card007
	 * @since 2021. 02. 26
	 */
	Collection<Order> getReturnListForMypage(Order order);

	/**
	 * 사용 상품권 정보 조회
	 *
	 * @param Order
	 * @return Collection<GiftCard>
	 * @author card007
	 * @since 2021. 03. 02
	 */
	Collection<GiftCard> getUsedGiftcardInfo(Order order);

	/**
	 * 사용 포인트 정보 조회
	 *
	 * @param Order
	 * @return Collection<Point>
	 * @author card007
	 * @since 2021. 03. 02
	 */
	Collection<Point> getUsedPointInfo(Order order);

	/**
	 * 마이페이지 교환 옵션 정보 조회
	 *
	 * @param OrderChange
	 * @return Collection<OrderChange>
	 * @author card007
	 * @since 2021. 03. 31
	 */
	Collection<OrderChange> getExchangeOptionInfo(OrderChange orderChange);

	/**
	 * 마이페이지 취반교 내역 조회
	 *
	 * @param OrderChange
	 * @return Collection<OrderChange>
	 * @author card007
	 * @since 2021. 04. 07
	 */
	Collection<OrderChange> getCreList(OrderChange orderChange);

	/**
	 * 마이페이지 취반교 목록 페이징 처리 주문변경번호 수 조회
	 *
	 * @param OrderChange
	 * @return int
	 * @author card007
	 * @since 2021. 04. 07
	 */
	int getPagingCreListCount(OrderChange orderChange);

	/**
	 * 마이페이지 취반교 목록 페이징 처리 주문변경번호 조회
	 *
	 * @param OrderChange
	 * @return Collection<OrderChange>
	 * @author card007
	 * @since 2021. 04. 07
	 */
	Collection<OrderChange> getPagingCreList(OrderChange orderChange);

}
