package com.ylcm.sys.mapper;

import com.ylcm.sys.domain.AdTheatreTv;
import com.ylcm.sys.dto.AdTvQueryDTO;
import com.ylcm.sys.form.AdTheatreAnalysisDetailQueryForm;
import com.ylcm.sys.vo.*;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ylcm.sys.domain.AdTheatreTvStat;
import com.ylcm.sys.form.AdTheatreAnalysisQueryForm;

import java.util.List;

/**
 * <p>
 * 关联电视剧数据 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2020-07-01
 */
public interface AdTheatreTvStatMapper extends BaseMapper<AdTheatreTvStat> {

	IPage<AdTheatreTvStat> getPage(IPage<AdTheatreTvStat> page, @Param("queryBean") AdTheatreAnalysisQueryForm queryForm);
	
	AdTheatreTvStat statByMedia(@Param("mediaName") String mediaName, @Param("theatreTime") Integer theatreTime, @Param("startDate") String startDate, @Param("endDate") String endDate);

	/**
	 * 电视剧收视排名
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	List<AdTheatreTopVO> tvTop( @Param("theatreTime") Integer theatreTime, @Param("startDate") String startDate, @Param("endDate") String endDate);

	/**
	 * 卫视剧场排名
	 * @param name 剧名
	 * @param theatreTime 剧场：0日间 1黄金2午夜3凌晨
	 * @param startDate 播放时间
	 * @param endDate 播放时间
	 */
	List<AdTheatreTopVO> mediaTop(@Param("name") String name, @Param("theatreTime") Integer theatreTime
			, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("limitSize") Integer limitSize);

	/**
	 * 收视趋势
	 * @param queryForm
	 * @return
	 */
	List<AdTvRatioTrendVO> tvRatioTrend(@Param("queryBean") AdTheatreAnalysisDetailQueryForm queryForm);

	/**
	 * 收视人群构成
	 * @param queryForm
	 * @return
	 */
	AdTheatreTv tvRatioPeople(@Param("queryBean") AdTvQueryDTO queryForm);

	/**
	 * 收视区域分布
	 * @param queryForm
	 * @return
	 */
	AdTheatreTv tvRatioZone(@Param("queryBean") AdTvQueryDTO queryForm);

	/**
	 * 产品投放分析
	 * @param queryForm
	 * @return
	 */
	List<AdTheatreProductDistVO> productDist(@Param("queryBean") AdTvQueryDTO queryForm);

	/**
	 * 电视剧体裁结构分析
	 * @param queryForm
	 * @return
	 */
	List<AdThemeDistVO> themeDist(@Param("queryBean") AdTheatreAnalysisDetailQueryForm queryForm);
}
