package com.shzg.project.worn.service;

import java.util.List;
import java.util.Map;

import com.shzg.project.worn.domain.MqttSensorEvent;

/**
 * 设备事件Service接口
 * 
 * @author shzg
 * @date 2026-04-01
 */
public interface IMqttSensorEventService 
{
    /**
     * 查询设备事件
     * 
     * @param id 设备事件主键
     * @return 设备事件
     */
    public MqttSensorEvent selectMqttSensorEventById(Long id);

    /**
     * 查询设备事件列表
     * 
     * @param mqttSensorEvent 设备事件
     * @return 设备事件集合
     */
    public List<MqttSensorEvent> selectMqttSensorEventList(MqttSensorEvent mqttSensorEvent);

    /**
     * 新增设备事件
     * 
     * @param mqttSensorEvent 设备事件
     * @return 结果
     */
    public int insertMqttSensorEvent(MqttSensorEvent mqttSensorEvent);

    /**
     * 修改设备事件
     * 
     * @param mqttSensorEvent 设备事件
     * @return 结果
     */
    public int updateMqttSensorEvent(MqttSensorEvent mqttSensorEvent);

    /**
     * 批量删除设备事件
     * 
     * @param ids 需要删除的设备事件主键集合
     * @return 结果
     */
    public int deleteMqttSensorEventByIds(Long[] ids);

    /**
     * 删除设备事件信息
     * 
     * @param id 设备事件主键
     * @return 结果
     */
    public int deleteMqttSensorEventById(Long id);

    /**
     * 告警统计
     */
    Map<String, Object> getAlarmStat();

    /**
     * 告警趋势（近7天）
     */
    List<Map<String, Object>> getAlarmTrend();

    /**
     * 告警类型占比
     */
    List<Map<String, Object>> getAlarmTypeStat();

}
