package com.bonus.core.order.mobile.service;

import com.bonus.core.order.common.dto.OrderDetailPayDTO;
import com.bonus.core.order.mobile.dto.OrderShoppingCartAddDTO;
import com.bonus.core.order.mobile.dto.OrderShoppingCartClearDTO;
import com.bonus.core.order.mobile.dto.OrderShoppingCartUpdateDTO;
import com.bonus.core.order.mobile.dto.OrderShoppingSearchDTO;
import com.bonus.core.order.mobile.vo.OrderShoppingCartAddResultVO;
import com.bonus.core.order.mobile.vo.OrderShoppingCartListMobileVO;

import java.util.List;

public interface ShoppingCartBusiness {

   OrderShoppingCartAddResultVO add(OrderShoppingCartAddDTO addDTO);

   void update(OrderShoppingCartUpdateDTO updateDTO);

   void clear(OrderShoppingCartClearDTO removeDTO);

   void clearAfterPlaced(List<Long> shoppingCartIds);

   List<OrderShoppingCartListMobileVO> listByCust(OrderShoppingSearchDTO searchDTO);

   List<OrderDetailPayDTO> filterInvalidByCartIds(Integer orderType, Long custId, List<OrderDetailPayDTO> orderDetailPayDTOList);

}
