package com.dcs.equipment.service;

import com.dcs.equipment.domain.InfluxDBQuery;
import com.dcs.equipment.domain.vo.DataTwinInfluxDBVO;
import com.dcs.hnyz.domain.vo.EquipmentParamFormVO;
import com.influxdb.query.FluxTable;

import java.util.List;

/**
 * @author: wangpx
 * @date: 2025-03-22 11:08
 */
public interface InfluxDBService {
    // 保存数据到InfluxDB
    void saveDataToInfluxDB(String bucket, List<EquipmentParamFormVO> equipmentFormVoList);

    // 使用Flux查询数据
    List<FluxTable> queryWithFlux(InfluxDBQuery query);

    // TODO 将聚合和时间 表名等创建为常量
    List<DataTwinInfluxDBVO> queryTemperatureByDay();

    List<DataTwinInfluxDBVO> queryTemperatureByWeek();

    List<DataTwinInfluxDBVO> queryTemperatureByMonth();
}
