package com.rj.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.rj.entity.FaceDetectLog;
import java.util.Map;

/**
 * 图像检测日志服务接口
 */
public interface IFaceDetectLogService extends IService<FaceDetectLog> {
    
    /**
     * 保存图像检测日志
     * @param faceDetectLog 日志对象
     * @return 是否保存成功
     */
    boolean saveFaceDetectLog(FaceDetectLog faceDetectLog);
    
    /**
     * 执行图像检测并保存日志
     * @param imageUrl 图片URL
     * @return 图像检测日志对象
     */
    FaceDetectLog detectFaceAndSave(String imageUrl);
    
    /**
     * 执行图像检测并保存日志（带扩展信息）
     * @param imageUrl 图片URL
     * @param ownerName 所属人姓名
     * @param ownerPhone 所属人电话
     * @param avatarName 头像名称
     * @return 图像检测日志对象
     */
    FaceDetectLog detectFaceAndSave(String imageUrl, String ownerName, String ownerPhone, String avatarName);
    
    /**
     * 执行图像检测并保存日志（带扩展信息和模型名）
     * @param imageUrl 图片URL
     * @param ownerName 所属人姓名
     * @param ownerPhone 所属人电话
     * @param avatarName 头像名称
     * @param model 模型名称
     * @return 图像检测日志对象
     */
    FaceDetectLog detectFaceAndSave(String imageUrl, String ownerName, String ownerPhone, String avatarName, String model);
    
    /**
     * 分页查询图像检测日志
     * @param current 当前页
     * @param size 每页大小
     * @param success 成功状态筛选
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param ownerName 所有人姓名
     * @param ownerPhone 所有人电话
     * @param avatarName 头像名字
     * @return 分页结果
     */
    com.baomidou.mybatisplus.extension.plugins.pagination.Page<FaceDetectLog> getPageList(
            Integer current, Integer size, Boolean success, String startTime, String endTime, 
            String ownerName, String ownerPhone, String avatarName);
    
    /**
     * 获取统计信息
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 统计信息
     */
    Map<String, Object> getStatistics(String startTime, String endTime);
}
