package com.kym.service;

import com.kym.entity.queryParams.StatQueryParam;
import com.kym.entity.vo.DashboardVo;
import com.kym.entity.vo.StationTrendVo;

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

/**
 * 统计
 */
public interface StatService {

    // 实时指标
    Map<String, Integer> getTodayConsumption();

    // 缓存指标（5分钟刷新）
    Map<String, Integer> getMonthConsumption();

    // 历史指标（每日预计算）
    Integer getTotalConsumption();

    Integer getTotalRegistrations();

    // 复合指标
    Integer getAvgPrice();

    Integer getAvgDuration();

    Double getAvgFrequency();

    DashboardVo dashboard(String stationId);

    Map<String, Long> washDeviceStatus(String stationId);

    List<StationTrendVo> trend(StatQueryParam params);
}
