package com.haha.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.haha.entity.DeviceAlertRecord;

/**
 * 设备告警服务接口
 */
public interface DeviceAlertService extends IService<DeviceAlertRecord> {

    /**
     * 处理设备离线告警
     *
     * @param deviceId      设备编号
     * @param triggerSource 触发来源：CALLBACK / SCHEDULED_SCAN
     */
    void processOfflineAlert(String deviceId, String triggerSource);

    /**
     * 处理信号弱告警
     *
     * @param deviceId      设备编号
     * @param signalValue   信号值
     * @param triggerSource 触发来源
     */
    void processWeakSignalAlert(String deviceId, Integer signalValue, String triggerSource);

    /**
     * 处理设备恢复上线通知
     *
     * @param deviceId 设备编号
     */
    void processBackOnlineNotify(String deviceId);

    /**
     * 处理异常订单告警（如IN类型-异物放入订单）
     * 当AI识别到用户向柜内放入异物而非正常取出商品时，触发此告警
     *
     * @param deviceId     设备编号
     * @param orderId      订单ID
     * @param alertContent 告警内容描述
     */
    void processAbnormalOrderAlert(String deviceId, Long orderId, String alertContent);
}
