package com.zfire.mall.manager.commonmapper.front;

import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zfire.mall.manager.bean.front.*;
import com.zfire.mall.manager.zfire.bean.ZfireParamBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author chang
 */
@Mapper
public interface CustomerFrontOrderMapper {

    @SqlParser(filter = true)
    IPage<CustomerOrderBean> list(IPage page,
                                  @Param("ex") ZfireParamBean zfireParam,
                                  @Param("customers") List<String> customers);

    @SqlParser(filter = true)
    IPage<CustomerRefundOrderBean> listRefund(IPage page,
                                              @Param("ex") ZfireParamBean zfireParam,
                                              @Param("customers") List<String> customers);

    @SqlParser(filter = true)
    List<CustomerOrderPush> listPush(String format);


    @SqlParser(filter = true)
    List<CustomerOrderRefundPush> orderRefundPush(String format);


    @SqlParser(filter = true)
    List<CustomerStockOrderPush> customerStockAcc(String format);

    @SqlParser(filter = true)
    IPage<CustomerOrderRefundOrder> listOrder(IPage page,
                                              @Param("ex") ZfireParamBean zfireParam,
                                              @Param("customerId") String customerId);

    @SqlParser(filter = true)
    IPage<OrderTrackTocBean> orderTrackList(IPage page,
                                            @Param("ex") ZfireParamBean zfireParam,
                                            @Param("customerId") String customerId);

    void updateToc();

    void updateReturnToc();
}
