package com.cloudcross.ssp.service;

import java.util.List;
import java.util.Map;

import com.cloudcross.ssp.base.service.IGenericService;
import com.cloudcross.ssp.common.utils.Pager;
import com.cloudcross.ssp.model.OperatorReport;


/**
 * 报表服务接口
 * @author chenyou
 *
 */
public interface IOperatorReportService extends IGenericService<OperatorReport> {
	
	int findCountForDeliverEffectAnalysis(Map<String, Object> paramMap);

	List<OperatorReport> findDeliverEffectAnalysis(
			Map<String, Object> paramMap, Pager pager);
	
	List<OperatorReport> findDeliverEffectAnalysis(
			Map<String, Object> paramMap);
	
	//根据查询条件查询总的pv，uv，曝光数等等
    OperatorReport findSum(Map<String, Object> paramMap);
	
	int countBySize(Map<String, Object> paramMap);
	List<OperatorReport> findBySize(
			Map<String, Object> paramMap, Pager pager);
	
	List<OperatorReport> findBySize(
			Map<String, Object> paramMap);
	
	int countByPosition(Map<String, Object> paramMap);
	List<OperatorReport> findByPosition(
			Map<String, Object> paramMap, Pager pager);
	
	List<OperatorReport> findByPosition(
			Map<String, Object> paramMap);
	
	int countBySystem(Map<String, Object> paramMap);
	List<OperatorReport> findBySystem(
			Map<String, Object> paramMap, Pager pager);
	
	List<OperatorReport> findBySystem(
			Map<String, Object> paramMap);
	
	List<OperatorReport> findByDevice(
			Map<String, Object> paramMap);
	
	//按媒体id和日期查找符合条件的省份的条数
	int countByAllAreal(Map<String, Object> paramMap);

	List<OperatorReport> findByAllAreal(
			Map<String, Object> paramMap, Pager pager);
	
	List<OperatorReport> findByAreal(Map<String, Object> paramMap);
	
	List<OperatorReport> findAllArea(Map<String, Object> paramMap);
	
	int countByPlace(Map<String, Object> paramMap);
	List<OperatorReport> findByPlace(
			Map<String, Object> paramMap, Pager pager);
	
	List<OperatorReport> findByPlace(
			Map<String, Object> paramMap);
	
	int countByApmac(Map<String, Object> paramMap);
	List<OperatorReport> findByApmac(
			Map<String, Object> paramMap, Pager pager);
	
	List<OperatorReport> findByApmac(
			Map<String, Object> paramMap);
	
}
