package com.zksy.base.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zksy.base.domain.vo.FlowMonitoringVO;
import com.zksy.base.domain.vo.LeakageMonitoringVO;
import com.zksy.base.domain.vo.PressureMonitoringVO;

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

public interface MonitoringService {

    Page<FlowMonitoringVO> getFlowMonitorPage(long pageNum, long pageSize,
                                              String equipmentName, String equipmentCode,
                                              String equipmentLocation,
                                              LocalDateTime startTime, LocalDateTime endTime,
                                              Double flowMin, Double flowMax);

    Page<PressureMonitoringVO> getPressureMonitorPage(long pageNum, long pageSize,
                                                      String equipmentName, String equipmentCode,
                                                      String equipmentLocation,
                                                      LocalDateTime startTime, LocalDateTime endTime,
                                                      Double pressureMin, Double pressureMax);

    Page<LeakageMonitoringVO> getLeakageMonitorPage(long pageNum, long pageSize,
                                                    String equipmentName, String equipmentCode,
                                                    String equipmentLocation,
                                                    LocalDateTime startTime, LocalDateTime endTime,
                                                    Double powerMin, Double powerMax);

    List<Map<String, Object>> getFlowTrend24h(String equipmentId);

    List<Map<String, Object>> getPressureTrend24h(String equipmentId);

    List<Map<String, Object>> getLeakageTrend24h(String equipmentId);
}
