package com.zksy.base.audio.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zksy.base.audio.domain.NoiseInfo;
import com.baomidou.mybatisplus.extension.service.IService;

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

/**
* @author Administrator
* @description 针对表【noise_info(音频信息表)】的数据库操作Service
* @createDate 2026-01-16 15:23:32
*/
public interface NoiseInfoService extends IService<NoiseInfo> {
    /**
     * 分页查询音频数据
     */
    IPage<NoiseInfo> queryPage(Page<NoiseInfo> page, String encode, String startTime, String endTime);

    /**
     * 按设备统计功率数据
     */
    List<Map<String, Object>> statPowerByDevice(String startTime, String endTime);

    /**
     * 按小时统计功率趋势
     */
    List<Map<String, Object>> statPowerTrendByHour(String encode, String startTime, String endTime);

    /**
     * 查询异常数据
     */
    IPage<NoiseInfo> queryAbnormalData(Page<NoiseInfo> page, Double threshold, String startTime, String endTime);

    /**
     * 获取设备最新监测数据
     */
    NoiseInfo getLatestDataByDevice(String encode);

    /**
     * 获取所有设备编号
     */
    List<String> getAllDeviceCodes();
}
