package com.style24.scm.biz.dao;

import java.util.Collection;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.ResultHandler;

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

/**
 * 주문 Dao
 *
 * @author gagamel
 * @since 2020. 10. 19
 */
@ShopDs
public interface TssOrderDao {
	/**
	 * 주문 목록
	 * @param Order
	 * @return
	 * @author jsh77b	
	 * @since 2020. 11. 18
	 */
	Collection<Order> getOrderList(Order order);
	
	/**
	 * 주문리스트 합계
	 *
	 * @param Order
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Order getOrderListSumInfo(Order order);
	
	/**
	 * 주문 정보
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> getOrderInfoList(Order order);
	
	/**
	 * 주문상세 목록
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> getOrderDetailList(Order order);
	
	/**
	 * 주문상세 단품 목록
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> getOrderDetailItemList(Order order);
	
	/**
	 * 배송정보
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> getDeliveryAddrList(Order order);
	
	/**
	 * 결제내역 > 결제 기본정보
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> getOrderPaymentBasicInfoList(Order order);
	
	/**
	 * 배송비 정보
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> getDeliveryFeeList(Order order);
	
	/**
	 * 반품/교환 > 반품/교환 정보
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> getOrderChangeList(Order order);
	
	/**
	 * 환불정보
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> orderRefundInfo(Order order);
	
	/**
	 * 상담내역
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> orderCounselInfo(Order order);
	
	/**
	 * 변경내역 > 주문요청 관리자 메모
	 *
	 * @param Order - 주문 정보
	 * @return
	 * @author jsh77b
	 * @since 2020. 11. 18
	 */
	Collection<Order> getOrderTsainMemoList(Order order);
}
