From cb59966a148f601c41e77637be701fda04251d91 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Tue, 14 Jun 2022 14:14:53 +0800
Subject: [PATCH] 添加需要离线报警程序,分钟数据统计往前移一分钟

---
 src/main/java/com/moral/task/HistoryTableInsertTask.java |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/moral/task/HistoryTableInsertTask.java b/src/main/java/com/moral/task/HistoryTableInsertTask.java
index 075b348..bc20ac7 100644
--- a/src/main/java/com/moral/task/HistoryTableInsertTask.java
+++ b/src/main/java/com/moral/task/HistoryTableInsertTask.java
@@ -27,6 +27,7 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
@@ -59,13 +60,17 @@
     @Resource
     private WeatherUtil weatherUtil;
 
+    @Resource
+    RedisTemplate redisTemplate;
 
     @XxlJob("historyMinutely")
     public ReturnT insertHistoryMinutelyTable(String params) {
         //������������������
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:00");
-        Date endTimeDate = new Date();
-        Date startTimeDate = DateUtil.rollMinute(endTimeDate, -1);
+        Date insertTimeDate = new Date();
+        Date startTimeDate = DateUtil.rollMinute(insertTimeDate, -2);
+        Date endTimeDate = DateUtil.rollMinute(insertTimeDate, -1);
+        StringBuilder insertTime = new StringBuilder(sdf.format(insertTimeDate));
         StringBuilder endTime = new StringBuilder(sdf.format(endTimeDate));
         StringBuilder startTime = new StringBuilder(sdf.format(startTimeDate));
         String queryYearAndMonthDay = DateUtil.getYear(startTimeDate) + DateUtil.getMonth(startTimeDate) + DateUtil.getDay(startTimeDate);
@@ -94,21 +99,19 @@
             for (Map<String, Object> deviceData : minutelyData) {
                 if (!ObjectUtils.isEmpty(deviceData)) {
                     Map<String, Object> minutelyDataMap = new LinkedHashMap<>();
-                    JSONObject jo = new JSONObject(true);
+                    Map<String, Object> map = new HashMap<>();
                     minutelyDataMap.put("mac", deviceData.get("mac"));
-                    minutelyDataMap.put("time", endTime.toString());
-                    JSONArray jsonArray = new JSONArray();
+                    minutelyDataMap.put("time", insertTime.toString());
                     for (String key : deviceData.keySet()) {
                         if (!key.equals("mac") && !key.startsWith("M")) {
                             List<Object> date = new ArrayList<>();
                             date.add(deviceData.get(key));
                             date.add(deviceData.get("MIN" + key));
                             date.add(deviceData.get("MAX" + key));
-                            jo.put(key, date);
+                            map.put(key, date);
                         }
                     }
-                    jsonArray.add(jo);
-                    minutelyDataMap.put("json", jsonArray.get(0).toString());
+                    minutelyDataMap.put("json", JSONObject.toJSONString(map));
                     minutelyDataList.add(minutelyDataMap);
                 }
             }
@@ -125,6 +128,9 @@
             ReturnT returnT = new ReturnT(500, e.getMessage());
             return returnT;
         }
+        List record = new ArrayList();
+        record.add("repairMinutelyData_"+endTimeDate.getTime()/1000);
+        redisTemplate.opsForList().leftPushAll("unrepair_data", record);
         ReturnT returnT = new ReturnT(500, "���������������������");
         return returnT;
     }
@@ -199,6 +205,9 @@
             e.printStackTrace();
         }
         ReturnT returnT = new ReturnT(500, "���������������������");
+        List record = new ArrayList();
+        record.add("repairHourlyData_"+endTimeDate.getTime()/1000);
+        redisTemplate.opsForList().leftPushAll("unrepair_data", record);
         return returnT;
     }
 

--
Gitblit v1.8.0