package cn.pluss.platform.mapper;

import cn.pluss.platform.vo.MemberOrderStatisticsVO;
import cn.pluss.platform.vo.MemberOrderVO;
import cn.pluss.platform.vo.MerchantOrderExportVO;
import cn.pluss.platform.vo.BillStatisticsVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author Djh
 */
public interface BillStatisticsMapper {

    /**
     * 账单统计
     * @param merchantCode  商编
     * @param startDate     起始时间
     * @param endDate       截止时间
     * @return
     */
    List<BillStatisticsVO> selectBillStatistics(@Param("merchantCode") String merchantCode, @Param("startDate") Date startDate, @Param("endDate") Date endDate);

    /**
     * 账单列表信息
     * @param merchantCode  商编
     * @param startDate     起始时间
     * @param endDate       截止时间
     * @return
     */
    List<MerchantOrderExportVO> selectBillList(@Param("merchantCode") String merchantCode, @Param("startDate") Date startDate, @Param("endDate") Date endDate);

    /**
     * 会员账单列表
     * @param merchantCode  商编
     * @param startDate     起始时间
     * @param endDate       截止时间
     * @return
     */
    List<MemberOrderVO> selectMemberBillList(@Param("merchantCode") String merchantCode, @Param("startDate") Date startDate, @Param("endDate") Date endDate);

    /**
     * 会员账单统计
     * @param merchantCode  商编
     * @param startDate     起始时间
     * @param endDate       截止时间
     * @return
     */
    List<MemberOrderStatisticsVO> selectMemberBillStatistics(@Param("merchantCode") String merchantCode, @Param("startDate") Date startDate, @Param("endDate") Date endDate);

    /**
     * 员工账单统计
     * @param merchantCode  商编
     * @param startDate     起始时间
     * @param endDate       截止时间
     * @return
     */
    List<BillStatisticsVO> selectStaffBillStatistics(@Param("merchantCode") String merchantCode, @Param("startDate") Date startDate, @Param("endDate") Date endDate);

}
