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