package com.ruoyi.business.service;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.business.domain.VO.DeviceDataColumnVo;
import com.ruoyi.business.domain.VO.DeviceHistoryDataVo;
import com.ruoyi.business.domain.VO.DeviceLatestDataVo;
import com.ruoyi.tdengine.api.domain.TdReturnDataVo;

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

/**
 * @Description: 监控平台数据处理接口
 * @ClassName: IHwMonitorPlatformService
 * @Author  : xins
 * @Date    :2023-09-16  14:49
 * @Version :1.0
 */
public interface IHwMonitorPlatformService {

    /**
     * @param: deviceLatestDataVo
     * @description 根据设备模型获取最新数据
     * @author xins
     * @date 2023-09-16 14:49
     * @return JSONObject
     */
    public JSONObject selectLatestDataByTags(DeviceLatestDataVo deviceLatestDataVo);

    /**
     * @param: deviceHistoryDataVo
     * @description 获取设备历史数据
     * @author xins
     * @date 2023-09-16 15:14
     * @return TdReturnDataVo
     */
    public TdReturnDataVo getHistoryData(DeviceHistoryDataVo deviceHistoryDataVo);

    /**
     * @return List<DeviceDataColumnVo>
     * @param: deviceModeId
     * @param: latestDataMaps
     * @description
     * @author xins
     * @date 2023-09-25 15:40
     */
    public List<DeviceDataColumnVo> getDeviceDataColumns(Long deviceModeId, List<Map<String, Object>> latestDataMaps);
}
