From a4bcc1576c21046167cdea4049821e2238757784 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Sat, 18 Sep 2021 09:45:59 +0800
Subject: [PATCH] screen-manage 修改添加父菜单BUG
---
screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java | 48 +++++++++++++++++++++++++++++++++---------------
1 files changed, 33 insertions(+), 15 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
index dac6205..c9701ec 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
@@ -1,6 +1,8 @@
package com.moral.api.service.impl;
import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.Device;
import com.moral.api.entity.HistoryFiveMinutely;
import com.moral.api.entity.MonitorPoint;
@@ -14,19 +16,13 @@
import com.moral.api.service.MonitorPointService;
import com.moral.constant.RedisConstants;
import com.moral.util.DateUtils;
-
import io.lettuce.core.GeoCoordinates;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* <p>
@@ -41,12 +37,10 @@
@Autowired
MonitorPointService monitorPointService;
-
@Autowired
RedisTemplate redisTemplate;
-
@Autowired
- private HistoryFiveMinutelyMapper historyFiveMinutelyMapper;
+ HistoryFiveMinutelyMapper historyFiveMinutelyMapper;
@Override
public List<DeviceAndFiveMinuteDataDTO> queryDeviceAndFiveMinuteData(QueryDeviceAndFiveMinuteDataForm form) {
@@ -67,18 +61,38 @@
for (Device device : devices) {
DeviceAndFiveMinuteDataDTO dto = new DeviceAndFiveMinuteDataDTO();
String mac = device.getMac();
+ //������������������
Map<String, Object> sensorValues = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DATA_FIVE_MINUTES, mac);
- Map<String, Object> value = new HashMap<>();
- if (sensorValues != null && sensorValues.get(sensorCode) != null)
- value.put(sensorCode, sensorValues.get(sensorCode));
+ //������������������������������������
+ HistoryFiveMinutely dbHistoryFiveMinutely = queryLastDataByMac(mac);
+ if(ObjectUtils.isEmpty(dbHistoryFiveMinutely))
+ continue;
+ String dbDataStr = dbHistoryFiveMinutely.getValue();
+ sensorValues = JSON.parseObject(dbDataStr, HashMap.class);
+ Map<String,Object> sensorValue = new HashMap<>();
+ if (sensorValues!=null&&sensorValues.get(sensorCode) != null)
+ sensorValue.put(sensorCode,sensorValues.get(sensorCode));
else
- value.put(sensorCode, null);
+ sensorValue.put(sensorCode,null);
dto.setDevice(device);
- dto.setSensorValue(value);
+ dto.setSensorValue(sensorValue);
dtos.add(dto);
}
return dtos;
}
+
+ @Override
+ public HistoryFiveMinutely queryLastDataByMac(String mac) {
+ QueryWrapper<HistoryFiveMinutely> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("mac",mac);
+ queryWrapper.orderByDesc("time");
+ queryWrapper.last("limit 0,1");
+ List<HistoryFiveMinutely> historyFiveMinutelies = historyFiveMinutelyMapper.selectList(queryWrapper);
+ if(ObjectUtils.isEmpty(historyFiveMinutelies))
+ return null;
+ return historyFiveMinutelies.get(0);
+ }
+
@Override
public List<Object> getAreaWindData(Map<String, Object> params) {
@@ -272,4 +286,8 @@
list.add(laLaMap);
return list;
}
+
+
+
+
}
--
Gitblit v1.8.0