package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.dto.MarkingCouponDataReportDto;
import com.iformall.domain.dto.WxOrderReportDto;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * Created by syf on 2018/8/28.
 */
public interface MarkingDataReportService {
    Map<String,Object> getCouponData(TenantEntity tenantEntity);

    Map<String,Object> getSceneData(TenantEntity tenantEntity);

    Map<String,Object> getSceneDataHistory(TenantEntity tenantEntity, String startDate, String endDate);

    PageInfo<MarkingCouponDataReportVo> getCouponDataList(TenantEntity tenantEntity, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize);

    PageInfo<MarkingSceneDataVo> getSceneDataList(TenantEntity tenantEntity, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize);

    PageInfo<TouchUsersReportVo> getTouchUsersReportList(TenantEntity tenantEntity, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize);

    List<TouchUsersReportVo> getTouchUsersReportData(TenantEntity tenantEntity);



    Map<String, Object> listOrderReportByDate(WxOrderReportDto wxOrderReportDto);

    List<WxOrderReportVo> listMicroPayOrderReportByDateAndMerchant(WxOrderReportDto wxOrderReportDto);

    PageInfo<WxMerchantMicroPayVo> listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageNum, Integer pageSize);

    void exportTouchUsersData(HttpServletRequest request, HttpServletResponse response, MarkingCouponDataReportDto markingCouponDataReportDto);

}
