package com.limap.core.screen.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.limap.core.screen.domain.DeviceSensorData;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * TDengine 设备传感器数据 Mapper
 */
@Repository
public interface DeviceSensorDataMapper {

    /**
     * 查询历史数据列表（支持按时间间隔聚合）
     *
     * @param serialNum    设备序列号
     * @param startTime    开始时间
     * @param endTime      结束时间
     * @param intervalType 间隔类型：1-原始数据，2-10分钟，3-30分钟，4-1小时
     * @return 设备传感器数据列表
     */
    @DS("taos")
    @InterceptorIgnore(tenantLine = "true")
    List<DeviceSensorData> getHistoryDataList(@Param("serialNum") String serialNum,
                                               @Param("startTime") String startTime,
                                               @Param("endTime") String endTime,
                                               @Param("intervalType") Integer intervalType);
}
