package com.bonus.canteen.core.report.statistics.order.basic.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bonus.canteen.core.report.api.dto.ReportCustConsumeSumDTO;
import com.bonus.canteen.core.report.statistics.order.basic.model.ReportOrderInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Mapper
public interface ReportOrderInfoMapper extends BaseMapper<ReportOrderInfo> {
//   Map<String, LocalDateTime> queryMinMaxPayTime(@Param("param") ReportBasicOrderParam param);
//
//   List<Long> listSummaryId(@Param("param") ReportBasicOrderParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   List<ReportBasicOrderVO> listSummary(@Param("param") ReportBasicOrderParam param, @Param("orderIdList") List<Long> orderIdList);
//
//   ReportBasicOrderVO getSummaryTotal(@Param("param") ReportBasicOrderParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   List<ReportBasicOrderVO> listSummaryExport(@Param("param") ReportBasicOrderParam param, @Param("authPO") MgrUserAuthPO authPO);

   void deleteByPayTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);

   void initByPayTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
//
//   Long listCustSummary_COUNT(@Param("param") ReportCustSummaryParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   List<ReportCustSummaryVO> listCustSummary(@Param("param") ReportCustSummaryParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   ReportCustSummaryVO getCustSummaryTotal(@Param("param") ReportCustSummaryParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   List<ReportNotConsumeDTO> queryNotConsumeData();
//
//   void updateOrderMsg(List<ReportNotConsumeDTO> list);
//
//   List<ReportOrderPay> getOrdPayList(@Param("order_id") Long orderId);
//
//   List<DeviceOrderDishesSumVO> getOrderDishesSumForDevice(@Param("param") DeviceOrderDishesSumQueryDTO param);

   List<ReportOrderInfo> getCustConsumeSum(@Param("param") ReportCustConsumeSumDTO content);

//   Map<String, LocalDateTime> getOrderTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
//
//   List<ReportOrderDetaiVO> drpDishesSum(@Param("param") OrderDrpDishesSumDTO content);
//
//   List<OrderBusStatVO> listOrderStatForBus(@Param("param") OrderStatBusDTO param, @Param("authPO") MgrUserAuthPO authPO);
//
//   OrderBookStatMobileVO getBookStat(@Param("custId") Long custId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
//
//   OrderBookRefundStatMobileVO getBookRefundStat(@Param("custId") Long custId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
//
//   List<ReportMealtimeTypeCustNumDTO> getTotalConsumeDayNum(@Param("param") ReportCustSummaryParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   List<ReportRemoteDetailVO> listRemoteDetailSummary(@Param("param") ReportRemoteParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   ReportRemoteDetailVO getRemoteDetailTotal(@Param("param") ReportRemoteParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   List<ReportRemoteSumVO> listRemoteSummary(@Param("param") ReportRemoteParam param, @Param("authPO") MgrUserAuthPO authPO);
//
//   ReportRemoteSumVO listRemoteSummaryTotal(@Param("param") ReportRemoteParam param, @Param("authPO") MgrUserAuthPO authPO);
}
