package com.aiotagro.cattletrade.business.service;

import com.aiotagro.cattletrade.business.dto.DeliveryQueryDto;
import com.aiotagro.cattletrade.business.dto.DeliverListDto;
import com.aiotagro.cattletrade.business.entity.WarningLog;
import com.aiotagro.common.core.web.domain.AjaxResult;
import com.aiotagro.cattletrade.business.vo.DeliveryLogVo;
import com.aiotagro.common.core.web.domain.PageResultResponse;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 预警记录表 服务类
 * </p>
 *
 * @author admin
 * @since 2024-12-26
 */
public interface IWarningLogService extends IService<WarningLog> {

    /**
     * 供远程调用-保存预警日志
     *
     * @param deviceId
     * @return
     */
    AjaxResult savaWarn(String deviceId);

    AjaxResult warningCount();

    PageResultResponse<DeliveryLogVo> queryList(DeliveryQueryDto dto);

    /**
     * 预警详情查看
     * @param id
     * @return
     */
    AjaxResult warningDetail(Integer id);

    /**
     * 获取设备温度历史数据（用于温度预警详情）
     * 
     * @param deviceId 设备ID
     * @param startTime 开始时间（可选）
     * @param endTime 结束时间（可选）
     * @return 温度历史记录
     */
    AjaxResult getDeviceTemperatureHistory(String deviceId, String startTime, String endTime);

    /**
     * 获取预警位置的设备轨迹数据（用于停留预警、位置偏离预警详情）
     * 
     * @param deliveryId 运单ID
     * @param warningTime 预警时间
     * @return 设备轨迹记录
     */
    AjaxResult getDeviceTrackAroundWarning(Integer deliveryId, String warningTime);

}
