package com.ytpm.dao.qnjz;

import com.ytpm.agent.view.AgentAdGroupStaticsVO;
import com.ytpm.app.model.YtDyzAdRecord;
import com.ytpm.app.param.YtAppUserListParam;
import com.ytpm.middle.view.NetWorkEcpmVO;
import com.ytpm.middle.view.NetWorkRevenueVO;
import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.annotation.MapperScan;

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

@MapperScan
public interface QNAdRecordMapper {
    /**
     * 新增广告记录
     */
    void addOne(YtDyzAdRecord adRecord);
    /**
     * 查询用户的广告记录
     */
    List<YtDyzAdRecord> getByUserId(@Param("userId") String userId, @Param("adsourceType") Integer adsourceType);

    /**
     * 查询激励视频记录
     */
    List<YtDyzAdRecord> getByUserIds(@Param("userIds") String userIds);
    /**
     * 根据时间统计收益
     */
    BigDecimal getRevenueByTime(YtAppUserListParam param);

    int countByAppIds(@Param("appIds")String appIds);

    /**
     * 根据广告平台ID获取平均ecpm
     */
    List<NetWorkEcpmVO> getEcpmByIds(@Param("appIds")String appIds, @Param("type")int type, @Param("networkIds") String networkIds);

    /**
     * 查询广告平台分组统计
     */
    List<AgentAdGroupStaticsVO> getAdGroupStatics(@Param("appIds")String appIds);
    /**
     * 根据广告平台ID获取收益
     */
    List<NetWorkRevenueVO> getRevenueByIds(@Param("appIds") String appIds, @Param("type") int type, @Param("networkIds") String networkIds);

    List<YtDyzAdRecord> getTodayRecord(@Param("appIds") String appIds,@Param("type")Integer type);
}
