From 5e67c5cac614907b32c059c1c059007ac1062ff1 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期日, 12 十一月 2023 23:27:33 +0800
Subject: [PATCH] 实时数据

---
 ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java |  128 ++++++++++++++++++++++++++++--------------
 1 files changed, 85 insertions(+), 43 deletions(-)

diff --git a/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java b/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
index 68846db..0a3bd26 100644
--- a/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
+++ b/ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java
@@ -1,6 +1,7 @@
 package com.ycl.smoke.task;
 
 import com.alibaba.fastjson.JSON;
+import com.aliyuncs.utils.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -21,9 +22,7 @@
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Component
 public class ScheduledTask {
@@ -49,6 +48,7 @@
     IOdsCurAlarmService curAlarmService;
 
     IOdsStatisticsService odsStatisticsService;
+    IOdsLocaleDocumentService localeDocumentService;
 
     @Resource
     private RedisService redisService;
@@ -108,6 +108,11 @@
         this.odsStatisticsService = odsStatisticsService;
     }
 
+    @Autowired
+    public void setLocaleDocumentService(IOdsLocaleDocumentService localeDocumentService) {
+        this.localeDocumentService = localeDocumentService;
+    }
+
     @Scheduled(cron = "0 0 1 * * ?")   // 姣忓ぉ闆剁偣鎵ц
     // @Scheduled(cron = "0/1 * * * * ?")   // 姣忕鎵ц
     public void alarmMsgTask() {
@@ -129,7 +134,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 alarmMsgTask();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -164,7 +168,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -195,7 +198,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -205,13 +207,13 @@
         }
     }
 
-    @Scheduled(cron = "0 */30 * * * ?")   // 姣�5鍒嗛挓鎵ц
+    @Scheduled(cron = "0 */30 * * * ?")   // 姣�30鍒嗛挓鎵ц
     public void loginTask() {
         login();
     }
 
     //    @Scheduled(cron = "0 0 1 * * ?")   // 姣忓ぉ闆剁偣鎵ц
-    @Scheduled(cron = "0 */1 * * * ?")   // 姣�5鍒嗛挓鎵ц
+    @Scheduled(cron = "0 */5 * * * ?")   // 姣�5鍒嗛挓鎵ц
     public void listDataInTime() {
         DataIntimeParamDto paramDto = DataIntimeParamDto.builder().build();
         // {"StartAt":0,"Size":20,"Typ":2,"SortBy":"status","SortMode":"asc","Param":{"StatusOfRecord":"NORMAL"}}
@@ -263,7 +265,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -295,7 +296,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -330,7 +330,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -362,7 +361,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 queryDataDetectorDaily2Task();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -381,21 +379,9 @@
         try {
             CurAlarmParamDto paramDto = CurAlarmParamDto.builder().StartAt(0).Size(20).SortBy("status").SortMode("asc").Typ(2).build();
             CurAlarmParamChildDto childDto = CurAlarmParamChildDto.builder().build();
-
-            Calendar calendar = Calendar.getInstance();
-            calendar.set(Calendar.SECOND, 0);
-            calendar.set(Calendar.MINUTE, 0);
-            calendar.set(Calendar.HOUR_OF_DAY, 0);
-            calendar.set(Calendar.MILLISECOND, 0);
-            calendar.add(Calendar.DAY_OF_MONTH, -1);
-            long todayZero = calendar.getTimeInMillis();
-
-            calendar.add(Calendar.DAY_OF_MONTH, 1);
-            calendar.add(Calendar.MONTH, -1);
-            long lastMonthZero = calendar.getTimeInMillis();
-
-            childDto.setStartAt(lastMonthZero / 1000);
-            childDto.setEndAt(todayZero / 1000);
+            Long[] dates = getTodayAndLastMonth();
+            childDto.setStartAt(dates[0]);
+            childDto.setEndAt(dates[1]);
             childDto.setLocaleWithDevice(true);
             paramDto.setParam(childDto);
 
@@ -414,7 +400,6 @@
                 });
                 // alarmMsgService.saveBatch(list);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 listCurAlarm();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -450,7 +435,6 @@
 
                 odsStatisticsService.update(update);
             } else if (responseDto.getStatus() == 114) {
-                login();
                 listDataDetectorDailyStats();
             } else {
                 System.out.printf(responseDto.getData().toString());
@@ -470,20 +454,9 @@
             CurAlarmParam2Dto paramDto = CurAlarmParam2Dto.builder().StartAt(0).Size(20).build();
             CurAlarmParamChild2Dto childDto = CurAlarmParamChild2Dto.builder().build();
 
-            Calendar calendar = Calendar.getInstance();
-            calendar.set(Calendar.SECOND, 0);
-            calendar.set(Calendar.MINUTE, 0);
-            calendar.set(Calendar.HOUR_OF_DAY, 0);
-            calendar.set(Calendar.MILLISECOND, 0);
-            calendar.add(Calendar.DAY_OF_MONTH, -1);
-            long todayZero = calendar.getTimeInMillis();
-
-            calendar.add(Calendar.DAY_OF_MONTH, 1);
-            calendar.add(Calendar.MONTH, -1);
-            long lastMonthZero = calendar.getTimeInMillis();
-
-            childDto.setStartAt(lastMonthZero / 1000);
-            childDto.setEndAt(todayZero / 1000);
+            Long[] dates = getTodayAndLastMonth();
+            childDto.setStartAt(dates[0]);
+            childDto.setEndAt(dates[1]);
             paramDto.setParam(childDto);
             // {"StartAt":0,"Size":20,"Param":{"startAt":1697040000,"endAt":1699631999}}:
             String json = smokeDetectionService.getListDetectorDaily(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString());
@@ -506,6 +479,75 @@
         }
     }
 
+    /**
+     * 瀹炴椂妗f
+     */
+    @Scheduled(cron = "0 */10 * * * ?")   // 姣�10鍒嗛挓鎵ц
+//    @Scheduled(cron = "0/1 * * * * ?")   // 姣忕鎵ц
+    public void listLocaleDocument() {
+        String auth = redisService.get(RedisKey.SMOKE_TOKEN).toString();
+        String host = "http://116.62.234.187:8120";
+        try {
+            List<OdsLocale> odsLocales = localeService.list();
+            for (OdsLocale locale : odsLocales) {
+                if (!StringUtils.isEmpty(locale.getMnLast())) {
+                    Long[] dates = getTodayAndLastMonth();
+                    String detectorDailySumDayJson = "{\"LocaleId\":\"" + locale.getId() + "\",\"AcquitAtBegin\":" + dates[1] + ",\"AcquitAtEnd\":" + (dates[1] + 86400) + "}";
+                    String detectorDailySumDays = HttpUtil.HttpPostWithJson(host + "/admin/listDataDetectorDailySumDaysByLocaleId", detectorDailySumDayJson, auth);
+
+                    String listLocaleJson = "{\"Param\":{\"id\":\"" + locale.getId() + "\"}}";
+                    String listLocale = HttpUtil.HttpPostWithJson(host + "/admin/listLocale", listLocaleJson, auth);
+
+                    String detectorDailyJson = "{\"LocaleId\":\"" + locale.getId() + "\",\"AcquitAtBegin\":" + dates[1] + ",\"AcquitAtEnd\":" + (dates[1] + 86400) + "}";
+                    String detectorDaily = HttpUtil.HttpPostWithJson(host + "/admin/queryDataDetectorDaily", detectorDailyJson, auth);
+
+                    String listIntimeDataJson = "{\"StartAt\":0,\"Size\":20,\"mn\":\"" + locale.getMnLast() + "\",\"typ\":2,\"at\":0}";
+                    String listIntimeData = HttpUtil.HttpPostWithJson(host + "/admin/listIntimeData", listIntimeDataJson, auth);
+
+                    String listTenMinDataJson = "{\"mn\":\"" + locale.getMnLast() + "\",\"at\":" + dates[1] + "}";
+                    String listTenMinData = HttpUtil.HttpPostWithJson(host + "/admin/listTenMinData", listTenMinDataJson, auth);
+
+                    Map<String, Object> tenHourMap = new HashMap<>();
+                    tenHourMap.put("at", dates[1]);
+                    tenHourMap.put("mn", locale.getMnLast());
+                    String listTenHourData = HttpUtil.doGet(host + "/admin/listTenHourData", tenHourMap, auth);
+
+                    String devicesJson = "{\"LocaleId\":\"" + locale.getId() + "\",\"AcquitAtBegin\":" + dates[1] + ",\"AcquitAtEnd\":" + (dates[1] + 86400) + "}";
+                    String devices = HttpUtil.HttpPostWithJson(host + "/admin/getDevicesOfLocale", devicesJson, auth);
+
+                    String maintenanceJson = "{\"StartAt\":0,\"Size\":20,\"FormType\":1,\"Param\":{\"maintenance.locale_id\":{\"S\":2,\"V\":\"cg1uk9j1lf29c3qf3gvg\"}}}";
+                    String maintenance = HttpUtil.HttpPostWithJson(host + "/admin/listMaintenance", maintenanceJson, auth);
+
+                    OdsLocaleDocument document = OdsLocaleDocument.builder().localeId(locale.getId()).mn(locale.getMnLast())
+                            .detectorDailySumDays(detectorDailySumDays).detectorDaily(detectorDaily).listLocale(listLocale)
+                            .intimeData(listIntimeData).tenMinData(listTenMinData).tenHourData(listTenHourData)
+                            .devices(devices).maintenance(maintenance).build();
+
+                    localeDocumentService.saveByLocaleId(document);
+                }
+            }
+        } catch (Exception ex) {
+            System.out.printf(ex.getMessage());
+        }
+    }
+
+    private Long[] getTodayAndLastMonth() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        calendar.add(Calendar.DAY_OF_MONTH, -1);
+        long todayZero = calendar.getTimeInMillis();
+
+        calendar.add(Calendar.DAY_OF_MONTH, 1);
+        calendar.add(Calendar.MONTH, -1);
+        long lastMonthZero = calendar.getTimeInMillis();
+        Long[] dates = new Long[2];
+        dates[0] = lastMonthZero / 1000;
+        dates[1] = todayZero / 1000;
+        return dates;
+    }
 
     void login() {
         LoginParamDto loginParamDto = LoginParamDto.builder().username("閬傛槍鍩庣灞�").password("123456").noCode(true).build();

--
Gitblit v1.8.0