package com.fs.ad.service;

import java.util.List;
import java.util.function.Consumer;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fs.ad.enums.AdUploadType;
import com.fs.ad.domain.AdHtmlClickLog;
import com.fs.baidu.vo.ad.AdBaiduClickCallbackVo;
import com.fs.baidu.vo.AdClickCallbackVo;
import com.fs.baidu.vo.ad.AdIqiyiClickCallbackVo;
import com.fs.baidu.vo.ad.AdYouKuClickCallbackVo;

/**
 * 广告点击Service接口
 * 
 * @author fs
 * @date 2025-01-09
 */
public interface IAdHtmlClickLogService extends IService<AdHtmlClickLog> {


    /**
     * 查询广告点击
     * 
     * @param id 广告点击主键
     * @return 广告点击
     */
    public AdHtmlClickLog selectAdHtmlClickLogById(Long id);

    /**
     * 查询广告点击列表
     * 
     * @param adHtmlClickLog 广告点击
     * @return 广告点击集合
     */
    public List<AdHtmlClickLog> selectAdHtmlClickLogList(AdHtmlClickLog adHtmlClickLog);

    /**
     * 新增广告点击
     * 
     * @param adHtmlClickLog 广告点击
     * @return 结果
     */
    public int insertAdHtmlClickLog(AdHtmlClickLog adHtmlClickLog);

    /**
     * 修改广告点击
     * 
     * @param adHtmlClickLog 广告点击
     * @return 结果
     */
    public int updateAdHtmlClickLog(AdHtmlClickLog adHtmlClickLog);

    /**
     * 批量删除广告点击
     * 
     * @param ids 需要删除的广告点击主键集合
     * @return 结果
     */
    public int deleteAdHtmlClickLogByIds(Long[] ids);

    /**
     * 删除广告点击信息
     * 
     * @param id 广告点击主键
     * @return 结果
     */
    public int deleteAdHtmlClickLogById(Long id);



    void upload(String state, AdUploadType type);

    void setLogIqiyi(AdIqiyiClickCallbackVo vo);

    void setLogBaiDu(AdBaiduClickCallbackVo vo);

    void setLogYouKu(AdYouKuClickCallbackVo vo);

    void setLogBaiDuApi(AdBaiduClickCallbackVo vo);
}
