package com.moral.service.impl;
|
|
import java.time.LocalDateTime;
|
import java.util.*;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.moral.common.util.ValidateUtil;
|
import com.moral.entity.Sensor;
|
import com.moral.mapper.DeviceMapper;
|
import com.moral.mapper.HistoryMapper;
|
import com.moral.mapper.SensorMapper;
|
import com.moral.service.AccountService;
|
import com.moral.service.HistoryService;
|
|
@Service
|
public class HistoryServiceImpl implements HistoryService {
|
|
@Resource
|
private AccountService accountService;
|
|
@Resource
|
private HistoryMapper historyMapper;
|
|
@Resource
|
private DeviceMapper deviceMapper;
|
|
@Resource
|
private SensorMapper sensorMapper;
|
|
@Override
|
public Map<String, Object> getAllSensorAverageByDevice(Map<String, Object> parameters) throws Exception {
|
ValidateUtil.notNull(parameters.get("areaCode"), "param.is.null");
|
ValidateUtil.notNull(parameters.get("accountId"), "param.is.null");
|
Map<String,Object> resultMap = new LinkedHashMap<String, Object>();
|
accountService.setOrgIdsByAccount(parameters);
|
LocalDateTime time = LocalDateTime.now();
|
// 当前时间 -10分钟
|
parameters.put("start", time.minusMinutes(10));
|
// 当前时间 -5分钟
|
parameters.put("end", time.minusMinutes(5));
|
List<Sensor> Sensors = sensorMapper.getSensorsByCriteria(parameters);
|
List<String> sensorKeys = new ArrayList<String>();
|
for (Sensor sensor : Sensors) {
|
sensorKeys.add(sensor.getSensorKey());
|
}
|
parameters.put("sensorKeys", sensorKeys);
|
List<Map<String, Object>> list = historyMapper.getAreaAllDataByAccount(parameters);
|
resultMap.putAll(list.get(0));
|
return resultMap;
|
}
|
|
@Override
|
public Map<String, Object> getDeviceRankingBySensorAverage(Map<String, Object> parameters) {
|
ValidateUtil.notNull(parameters.get("areaCode"), "param.is.null");
|
ValidateUtil.notNull(parameters.get("accountId"), "param.is.null");
|
Object macKey = parameters.get("macKey");
|
ValidateUtil.notNull(macKey, "param.is.null");
|
|
Map<String, Object> result = new LinkedHashMap<String, Object>();
|
accountService.setOrgIdsByAccount(parameters);
|
LocalDateTime time = LocalDateTime.now();
|
// 当前时间 -1小时
|
parameters.put("start", time.minusHours(1));
|
parameters.put("end", time);
|
List<String> sensorKeys = new ArrayList<String>();
|
sensorKeys.add(macKey.toString());
|
parameters.put("sensorKeys", sensorKeys);
|
List<Map<String, Object>> list = historyMapper.getAreaAllDataByAccount(parameters);
|
|
for (Map<String, Object> map : list) {
|
result.put((String) map.get("name"), map.get(macKey.toString()));
|
}
|
return result;
|
}
|
@Override
|
public String queryValueByMacAndTime(String mac, Date time){
|
return historyMapper.selectValueByMacAndTime(mac, time);
|
}
|
}
|