package cn.com.ctop.toutiao.modules.report.service;

import cn.com.ctop.toutiao.modules.report.entity.ByteDanceVideoReportDaily;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.math.BigDecimal;
import java.util.List;

/**
 * 视频按时间段统计
 * @author jeecg-boot
 * @date   2020-05-13
 * @version V1.0
 */
public interface IByteDanceVideoReportDailyService extends IService<ByteDanceVideoReportDaily> {

    void videoInfoList(String startDate, String endDate);

    void videoInfoListByAccountId(String startDate, String endDate, Long accountId);

    PageInfo<ByteDanceVideoReportDaily> videoInfoListWeek(String startDate, String endDate, String signature, BigDecimal cost, Integer pageNo, Integer pageSize, Long[] projectIds, Long[] accountIds, String sort);

    PageInfo<ByteDanceVideoReportDaily> videoInfoListTotal(String startDate, String endDate, String signature, BigDecimal cost, Integer pageNo, Integer pageSize, Long[] projectIds, Long[] accountIds, String sort);

    List<ByteDanceVideoReportDaily> videoInfoListTotalExcel(String startDate, String endDate, String signature, BigDecimal cost, Long[] accountIds, String sort);

    PageInfo<ByteDanceVideoReportDaily> videoInfoListMonth(String startDate, String endDate, String signature, BigDecimal cost, Integer pageNo, Integer pageSize, Long[] projectIds, Long[] accountIds, String sort);

    List<ByteDanceVideoReportDaily> videoInfoListDetail(String startDate, String endDate, String signature, Long[] accountIds);

    String getColumnJson(Integer columnType);

    void saveOrUpdateColumnJson(Integer columnType, String json);

    //excel导出权限
    int videoInfoListTotalExportExcelPermission();

    PageInfo<ByteDanceVideoReportDaily> videoInfoListDaily(String startDate, String endDate, String signature, BigDecimal cost, Integer pageNo, Integer pageSize, Long[] projectIds, Long[] accountIds, String sort);

    void accountVideoMap();

}
