package com.bonus.canteen.core.order.deprecated.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bonus.canteen.core.auth.po.MgrUserAuthPO;
import com.bonus.canteen.core.order.deprecated.dto.MacMarketNotWriteOffDTO;
import com.bonus.canteen.core.order.deprecated.dto.MacMarketOrdDTO;
import com.bonus.canteen.core.order.deprecated.dto.MacOrdRefundQueryDTO;
import com.bonus.canteen.core.order.deprecated.model.OrdAppInfo;
import com.bonus.canteen.core.order.deprecated.param.MacOrdParam;
import com.bonus.canteen.core.order.deprecated.param.OrdMachineParam;
import com.bonus.canteen.core.order.deprecated.param.OrdParam;
import com.bonus.canteen.core.order.deprecated.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

/** @deprecated */
@Deprecated
@Mapper
public interface OrdAppInfoMapper extends BaseMapper<OrdAppInfo> {
    List<OrdAssignSrcMacVO> getOrderListForAndroid(MacOrdParam macOrdParam);

    List<OrdAssignSrcMacVO> getOrderShopListForAndroid(MacOrdParam macOrdParam);

    OrdCurrentReserveMacVO getReserveOrderListForAndroid(MacOrdParam macOrdParam);

    List<OrdAssignSrcMacOldVO> queryOrdListBySn(@Param("ordRefundQueryDTO") MacOrdRefundQueryDTO ordRefundQueryDTO, @Param("orderDate") LocalDate orderDate, @Param("payState") Integer payState);

    Page<OrdInfoVO> queryPageOrdInfoDetail(Page<?> page, @Param("ordParam") OrdParam ordParam, @Param("authPO") MgrUserAuthPO authPO);

    Page<OrdInfoVO> queryPageOrdInfoMachine(Page<OrdInfoVO> pageParam, @Param("ordMachineParam") OrdMachineParam ordMachineParam);

    Page<MacMarketOrdInfoVO> macOrdInfoDetailByConditon(Page<?> page, @Param("marketOrdDTO") MacMarketOrdDTO marketOrdDTO);

    Page<MacMarketOrdInfoVO> pageMacOrdInfoNotWriteOff(Page<?> page, @Param("marketOrdDTO") MacMarketNotWriteOffDTO marketOrdDTO);


}
