package com.zksy.base.manhole.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zksy.base.manhole.domain.ManholeData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Mapper
public interface ManholeDataMapper extends BaseMapper<ManholeData> {
    
    List<Map<String, Object>> statManholeByDevice(@Param("startTime") LocalDateTime startTime, 
                                                    @Param("endTime") LocalDateTime endTime);
    
    List<Map<String, Object>> statAlarmTrendByHour(@Param("imeiCardNumber") String imeiCardNumber,
                                                      @Param("startTime") LocalDateTime startTime, 
                                                      @Param("endTime") LocalDateTime endTime);
    
    List<Map<String, Object>> statTemperatureTrendByHour(@Param("imeiCardNumber") String imeiCardNumber,
                                                           @Param("startTime") LocalDateTime startTime, 
                                                           @Param("endTime") LocalDateTime endTime);
    
    List<String> getAllImeiCardNumbers();
    
    Map<String, Object> getLatestDataByImei(@Param("imeiCardNumber") String imeiCardNumber);
    
    Map<String, Object> getOverallStatistics(@Param("startTime") LocalDateTime startTime, 
                                                @Param("endTime") LocalDateTime endTime);
}