package com.ylcm.sys.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ylcm.sys.domain.AdTheatre;
import com.ylcm.sys.domain.AdTheatreTv;
import com.ylcm.sys.domain.AdTheatreTvStat;
import com.ylcm.sys.form.AdTheatreAnalysisDetailQueryForm;
import com.ylcm.sys.form.AdTheatreAnalysisQueryForm;
import com.ylcm.sys.vo.*;
import java.util.List;
/**
*
* 关联电视剧数据 服务类
*
*
* @author admin
* @since 2020-07-01
*/
public interface AdTheatreTvStatService extends IService {
IPage getPage(AdTheatreAnalysisQueryForm queryForm);
IPage getDetailPage(AdTheatreAnalysisDetailQueryForm queryForm);
/**
* 统计频道这个季度的时间
* @param mediaName
* @param theatreTime
* @param startDate
* @param endDate
* @return
*/
AdTheatreTvStat statByMedia(String mediaName, Integer theatreTime, String startDate, String endDate);
/**
* 剧场电视剧收视排名
* @param startDate
* @param endDate
* @return
*/
List getTvTop(Integer theatreTime, String startDate, String endDate);
/**
* 剧场电视剧收视排名
* @param name 剧名
* @param theatreTime 剧场:0日间 1黄金2午夜3凌晨
* @param startDate 播放时间
* @param endDate 播放时间
*/
List getMediaTop(String name, Integer theatreTime, String startDate, String endDate, Integer limitSize);
/**
* 电视剧收视分析
* @param queryForm
* @return
*/
AdTvRatioVO getTvRatioVO(AdTheatreAnalysisDetailQueryForm queryForm);
/**
* 收视区域分布
* @param queryForm
* @return
*/
AdTvZoneVO getTvZoneVO(AdTheatreAnalysisDetailQueryForm queryForm);
/**
* 电视剧产品投放分析
* @param queryForm
* @return
*/
List getProductVO(AdTheatreAnalysisDetailQueryForm queryForm);
/**
* 电视剧体裁结构分析
* @param queryForm
* @return
*/
List getThemeDistVO(AdTheatreAnalysisDetailQueryForm queryForm);
/**
* 同步统计数据
* @param adTheatre
* @param
*/
void saveStatByTheatreTv(AdTheatre adTheatre);
/**
* 剧名等基本信息修改
* @param newName
* @param oldName
* @param firstTheme
* @param oldFirstTheme
*/
void batchUpdateByName(String newName, String oldName, String firstTheme, String oldFirstTheme, String secondTheme);
}