From bc2da7908a227c09e5cc7b6d8dab3e9c94b784a1 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期二, 12 十二月 2023 22:18:18 +0800 Subject: [PATCH] 图片压缩及bug修改 --- ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java | 146 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 101 insertions(+), 45 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..088f683 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; @@ -16,14 +17,13 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.text.DateFormat; 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 +49,7 @@ IOdsCurAlarmService curAlarmService; IOdsStatisticsService odsStatisticsService; + IOdsLocaleDocumentService localeDocumentService; @Resource private RedisService redisService; @@ -108,6 +109,24 @@ this.odsStatisticsService = odsStatisticsService; } + @Autowired + public void setLocaleDocumentService(IOdsLocaleDocumentService localeDocumentService) { + this.localeDocumentService = localeDocumentService; + } + + @PostConstruct + public void start() { + alarmMsgTask(); + queryDataDetectorDaily2Task(); + queryTenMinData(); + listLocale(); + listAlarmRecord(); + listCurAlarm(); + listDataDetectorDailyStats(); + listDetectorDaily(); + } + + @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц // @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц public void alarmMsgTask() { @@ -129,7 +148,6 @@ }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { - login(); alarmMsgTask(); } else { System.out.printf(responseDto.getData().toString()); @@ -164,7 +182,6 @@ }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { - login(); queryDataDetectorDaily2Task(); } else { System.out.printf(responseDto.getData().toString()); @@ -195,7 +212,6 @@ }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { - login(); queryDataDetectorDaily2Task(); } else { System.out.printf(responseDto.getData().toString()); @@ -205,13 +221,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 +279,6 @@ }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { - login(); queryDataDetectorDaily2Task(); } else { System.out.printf(responseDto.getData().toString()); @@ -288,14 +303,13 @@ list.forEach(o -> { try { o.setCustomerString(JSON.toJSONString(o.getCustomer())); - localeService.save(o); + localeService.saveOrUpdate(o); } catch (Exception ex) { System.out.printf(ex.getMessage()); } }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { - login(); queryDataDetectorDaily2Task(); } else { System.out.printf(responseDto.getData().toString()); @@ -330,7 +344,6 @@ }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { - login(); queryDataDetectorDaily2Task(); } else { System.out.printf(responseDto.getData().toString()); @@ -355,14 +368,13 @@ list.forEach(o -> { try { o.setAlarmRecordPicsString(JSON.toJSONString(o.getAlarmRecordPics())); - alarmRecordService.save(o); + alarmRecordService.saveOrUpdate(o); } catch (Exception ex) { System.out.printf(ex.getMessage()); } }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { - login(); queryDataDetectorDaily2Task(); } else { System.out.printf(responseDto.getData().toString()); @@ -381,21 +393,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 +414,6 @@ }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { - login(); listCurAlarm(); } else { System.out.printf(responseDto.getData().toString()); @@ -450,7 +449,6 @@ odsStatisticsService.update(update); } else if (responseDto.getStatus() == 114) { - login(); listDataDetectorDailyStats(); } else { System.out.printf(responseDto.getData().toString()); @@ -470,20 +468,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 +493,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] - 7 * 86400) + ",\"AcquitAtEnd\":" + dates[1] + "}"; + 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