package com.bonus.canteen.core.order.android.business;


import com.bonus.canteen.core.common.page.PageVO;
import com.bonus.canteen.core.customer.vo.CustPayVO;
import com.bonus.canteen.core.order.android.dto.OrderInfoAndroidQueryDTO;
import com.bonus.canteen.core.order.android.dto.OrderListAndroidCustQueryDTO;
import com.bonus.canteen.core.order.android.dto.OrderListAndroidQueryDTO;
import com.bonus.canteen.core.order.android.dto.OrderStatAndroidQueryDTO;
import com.bonus.canteen.core.order.android.vo.OrderInfoAndroidVO;
import com.bonus.canteen.core.order.android.vo.OrderListAndroidVO;
import com.bonus.canteen.core.report.api.dto.DeviceOrderDishesSumQueryDTO;
import com.bonus.canteen.core.report.api.vo.DeviceOrderDishesSumVO;
import com.bonus.canteen.core.report.api.vo.ReportDeviceOrderSumVO;

import java.util.List;

public interface OrderInfoAndroidBusiness {
   PageVO<OrderListAndroidVO> queryPage(OrderListAndroidQueryDTO queryDTO);

   /** @deprecated */
   @Deprecated
   PageVO<OrderListAndroidVO> queryPageByCust(OrderListAndroidCustQueryDTO queryDTO);

   /** @deprecated */
   @Deprecated
   OrderInfoAndroidVO getInfo(Long orderId);

   OrderInfoAndroidVO queryInfo(OrderInfoAndroidQueryDTO queryDTO);

   void fillOrderDetail(List<OrderListAndroidVO> orderInfoList, boolean filterRefundedDetails);

   CustPayVO checkCustPayInfo(Integer nuClearMode, Long custId, String openId, String serialNum, String qrCode);

   ReportDeviceOrderSumVO getOrderStat(OrderStatAndroidQueryDTO queryDTO);

   PageVO<DeviceOrderDishesSumVO> pageGoodsState(DeviceOrderDishesSumQueryDTO queryDTO);
}
