package ctop.bytedance.ad.report.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import io.lettuce.core.dynamic.annotation.Param;
import ctop.bytedance.ad.report.entity.BytedanceAdvertiserHourlyReport;
import ctop.bytedance.ad.report.entity.vo.ReportCostVo;

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

/**
 * @Description: 广告主小时级别报表信息
 * @Author: jeecg-boot
 * @Date: 2021-05-18
 * @Version: V1.0
 */
public interface BytedanceAdvertiserHourlyReportMapper extends BaseMapper<BytedanceAdvertiserHourlyReport> {


    List<ReportCostVo> getReportCostInfo(@Param("accountId") String accountId, @Param("startTime") String startTime, @Param("endTime") String endTime);

    //账户日报 数据
    List<ReportCostVo> selectPlanCostInfoCount(@Param("accountId") String accountId, @Param("planId") String planId, @Param("startTime") String startTime, @Param("endTime") String endTime);
    //账户 时报
    List<ReportCostVo> getReportCostInfoStage(@Param("accountId") String accountId, @Param("startTime") String startTime, @Param("endTime") String endTime);
    //查询上阶段 同时间点的 日报 数据信息
    List<ReportCostVo> getReportCostInfoStageLast(@Param("accountId") String accountId, @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("statHour") String statHour);

    Map<String,Object> selAcountIdCostMax(@Param("userId") String userId, @Param("type") String type);

    Map<String,Object> selectAccountCost(@Param("accountId") String accountId);

    //计划日报
    List<ReportCostVo> selectReportPlanCostInfoDay(@Param("accountId") String accountId, @Param("planId") String planId, @Param("startTime") String startTime, @Param("endTime") String endTime);
    //计划 时报
    List<ReportCostVo> selectReportPlanCostInfo(@Param("accountId") String accountId, @Param("planId") String planId, @Param("startTime") String startTime, @Param("endTime") String endTime);
    //查询上阶段 同时间点的 日报 数据信息
    List<ReportCostVo> selectReportPlanCostHourLast(@Param("accountId") String accountId,@Param("planId") String planId,@Param("startTime") String startTime, @Param("endTime") String endTime,@Param("statHour") Integer statHour);

}
