package shop.alien.store.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import shop.alien.entity.result.R;
import shop.alien.entity.store.OceanEngineClickMonitorLog;
import shop.alien.store.dto.OceanEngineClickBindUserDto;

import javax.servlet.http.HttpServletRequest;

/**
 * 巨量引擎点击监测服务
 */
public interface OceanEngineClickMonitorLogService extends IService<OceanEngineClickMonitorLog> {

    /**
     * 接收巨量引擎点击监测 GET 请求并落库
     *
     * @param request 原始 HTTP 请求（含全部 Query 参数）
     * @return 处理结果
     */
    R<Long> receiveClickMonitor(HttpServletRequest request);

    /**
     * 将点击记录绑定到业务用户
     */
    R<String> bindUser(OceanEngineClickBindUserDto bindDto);

    /**
     * 根据主键查询
     */
    R<OceanEngineClickMonitorLog> getInfoById(Long id);

    /**
     * 分页查询点击监测日志
     */
    R<IPage<OceanEngineClickMonitorLog>> list(Integer pageNum, Integer pageSize,
                                              String clickId, String advertiserId,
                                              Integer userId, Integer bindStatus);
}
