package com.moral.api.service; 
 | 
  
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
import com.moral.api.entity.Device; 
 | 
import com.moral.api.entity.HistoryDaily; 
 | 
import com.baomidou.mybatisplus.extension.service.IService; 
 | 
  
 | 
/** 
 | 
 * <p> 
 | 
 * 日数据 服务类 
 | 
 * </p> 
 | 
 * 
 | 
 * @author moral 
 | 
 * @since 2021-07-14 
 | 
 */ 
 | 
public interface HistoryDailyService extends IService<HistoryDaily> { 
 | 
  
 | 
    //获取某设备某因子月均值 
 | 
    Map<String, Object> getMonthAvg(Map<String, Object> params); 
 | 
  
 | 
    /** 
 | 
    * @Description: 查询某一设备某日的数据 
 | 
            * @Param: [mac, date] 
 | 
            * @return: com.moral.api.entity.HistoryDaily 
 | 
            * @Author: 陈凯裕 
 | 
            * @Date: 2021/9/26 
 | 
            */ 
 | 
    HistoryDaily getHistoryDailyByMacAndDate(String mac,Date date); 
 | 
  
 | 
    /** 
 | 
    * @Description: 根据多个mac和指定日期查询日数据,key为mac,value为数据 
 | 
            * @Param: [mac, date] 
 | 
            * @return: java.util.Map<java.lang.String,com.moral.api.entity.HistoryDaily> 
 | 
            * @Author: 陈凯裕 
 | 
            * @Date: 2021/9/26 
 | 
            */ 
 | 
    Map<String,HistoryDaily> getHistoryDailyByMacsAndDate(List<String> mac, Date date); 
 | 
  
 | 
    /** 
 | 
    * @Description: 根据一个mac查询时间段内的数据 
 | 
            * @Param: [mac, startDate, endDate] 
 | 
            * @return: java.util.Map<java.lang.String,com.moral.api.entity.HistoryDaily> 
 | 
            * @Author: 陈凯裕 
 | 
            * @Date: 2021/9/26 
 | 
            */ 
 | 
    List<HistoryDaily> getHistoryDailyByMacAndTimeSlot( String mac, Date startDate,Date endDate); 
 | 
  
 | 
    List<HistoryDaily> getHistoryDailyByMacAndTimeSlot(List<String> macs, Date startDate, Date endDate); 
 | 
  
 | 
    /** 
 | 
     *@Description: 通过组织id、因子编码和时间获取日数据 
 | 
     *@Param: [map] 
 | 
     *@return: java.util.Map<java.lang.String,java.lang.Object> 
 | 
     *@Author: lizijie 
 | 
     *@Date: 2021/12/15 15:16 
 | 
     **/ 
 | 
    Map<String, Object> getThermodynamicDiagramDataByOrgIdSensorCodeTime(Map<String, Object> map); 
 | 
  
 | 
    /** 
 | 
     *@Description: 通过组织id、因子编码和时间获取日数据 
 | 
     *@Param: [map] 
 | 
     *@return: java.util.Map<java.lang.String,java.lang.Object> 
 | 
     *@Author: lizijie 
 | 
     *@Date: 2022/01/20 15:16 
 | 
     **/ 
 | 
    Map<String, Object> getThermodynamicDiagramDataByOrgIdSensorCodeTimeV2(Map<String, Object> map); 
 | 
  
 | 
    /** 
 | 
     *@Description: 通过组织id、因子编码和时间段获取日数据 
 | 
     *@Param: [map] 
 | 
     *@return: java.util.Map<java.lang.String,java.lang.Object> 
 | 
     *@Author: lizijie 
 | 
     *@Date: 2021/12/16 15:16 
 | 
     **/ 
 | 
    List<Map<String, Object>> getThermodynamicDiagramDataByOrgIdSensorCodeTimeSlot(Map<String, Object> map); 
 | 
  
 | 
    /** 
 | 
     *@Description: 通过组织id、因子编码和时间段获取日数据第二版 
 | 
     *@Param: [map] 
 | 
     *@return: java.util.Map<java.lang.String,java.lang.Object> 
 | 
     *@Author: lizijie 
 | 
     *@Date: 2022/01/20 15:16 
 | 
     **/ 
 | 
    List<Map<String, Object>> getThermodynamicDiagramDataByOrgIdSensorCodeTimeSlotV2(Map<String, Object> parameters); 
 | 
  
 | 
    /** 
 | 
     * @description: 通过设备和时间获取天数据 
 | 
     * @param macs List<String> 
 | 
     * @param time String 例:2021-12 
 | 
     * */ 
 | 
    List<HistoryDaily> getValueByMacs(List<String> macs, String time); 
 | 
  
 | 
    /** 
 | 
     * @description 根据类型计算值 
 | 
     * @param list 数据 
 | 
     * @param sensorCode 因子code 
 | 
     * @param type 要计算的类型,最大值:max,最小值:min,平均值:sum,平均值:avg, 
 | 
     * */ 
 | 
    Double calculatedValue(List<HistoryDaily> list, String sensorCode, String type); 
 | 
  
 | 
} 
 |