From e468088052b2dea9837645eeed689ee9c5f0948d Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期五, 27 十月 2023 15:58:11 +0800 Subject: [PATCH] 油烟 --- ycl-smoke/src/main/java/com/ycl/smoke/task/ScheduledTask.java | 354 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 325 insertions(+), 29 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 e93607e..1dc348e 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,18 +1,24 @@ package com.ycl.smoke.task; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ycl.service.redis.RedisService; -import com.ycl.smoke.entity.OdsAlarmMsg; -import com.ycl.smoke.remote.dto.*; +import com.ycl.smoke.entity.*; +import com.ycl.smoke.dto.*; import com.ycl.smoke.remote.service.ISmokeDetectionService; -import com.ycl.smoke.service.IOdsAlarmMsgService; +import com.ycl.smoke.service.*; import com.ycl.utils.redis.RedisKey; -import org.apache.velocity.runtime.directive.Foreach; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; import java.util.List; @Component @@ -21,6 +27,22 @@ ISmokeDetectionService smokeDetectionService; IOdsAlarmMsgService alarmMsgService; + + IOdsDetectorDailyService detectorDailyService; + + IOdsTenMinDataService tenMinDataService; + + IOdsInTimeService inTimeService; + + IOdsInTimeCountService iOdsInTimeCountService; + + IOdsLocaleService localeService; + + IOdsCustomerService customerService; + + IOdsAlarmRecordService alarmRecordService; + + IOdsCurAlarmService curAlarmService; @Resource private RedisService redisService; @@ -31,76 +53,350 @@ } @Autowired + public void setIOdsInTimeCountService(IOdsInTimeCountService iOdsInTimeCountService) { + this.iOdsInTimeCountService = iOdsInTimeCountService; + } + + @Autowired public void setAlarmMsgService(IOdsAlarmMsgService alarmMsgService) { this.alarmMsgService = alarmMsgService; } + @Autowired + public void setTenMinDataService(IOdsTenMinDataService tenMinDataService) { + this.tenMinDataService = tenMinDataService; + } + + @Autowired + public void setInTimeService(IOdsInTimeService inTimeService) { + this.inTimeService = inTimeService; + } + + @Autowired + public void setLocaleService(IOdsLocaleService localeService) { + this.localeService = localeService; + } + + @Autowired + public void setCustomerService(IOdsCustomerService customerService) { + this.customerService = customerService; + } + + @Autowired + public void setAlarmRecordService(IOdsAlarmRecordService alarmRecordService) { + this.alarmRecordService = alarmRecordService; + } + + @Autowired + public void setCurAlarmService(IOdsCurAlarmService curAlarmService) { + this.curAlarmService = curAlarmService; + } + + @Autowired + public void setDetectorDailyService(IOdsDetectorDailyService detectorDailyService) { + this.detectorDailyService = detectorDailyService; + } + @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц - // @Scheduled(cron = "0 */2 * * * ?") // 姣忎竴涓垎閽熸墽琛� 0 0/1 * ? // @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц public void alarmMsgTask() { try { AlarmMsgParamDto paramDto = AlarmMsgParamDto.builder().StartAt(0).Size(100).build(); + String json = smokeDetectionService.getListAlarmMsg(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); - SmokeResultResponseDto<AlarmMsgResponseDto> responseDto = smokeDetectionService.getListAlarmMsg(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); if (responseDto.getStatus() == 200) { - AlarmMsgResponseDto dto = responseDto.getData(); + AlarmMsgResponseDto dto = JSON.parseObject(responseDto.getData().toString(), AlarmMsgResponseDto.class); List<OdsAlarmMsg> list = dto.getContent(); - System.out.println(list.size()); - list.forEach(o->{ + // System.out.println(list.size()); + list.forEach(o -> { try { alarmMsgService.save(o); - } - catch (Exception ex){ - + } catch (Exception ex) { + System.out.printf(ex.getMessage()); } }); // alarmMsgService.saveBatch(list); } else if (responseDto.getStatus() == 114) { login(); alarmMsgTask(); + } else { + System.out.printf(responseDto.getData().toString()); } } catch (Exception ex) { - + System.out.printf(ex.getMessage()); } } @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц - // @Scheduled(cron = "0 */2 * * * ?") // 姣忎竴涓垎閽熸墽琛� 0 0/1 * ? - // @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц +// @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц public void queryDataDetectorDaily2Task() { try { - AlarmMsgParamDto paramDto = AlarmMsgParamDto.builder().StartAt(0).Size(100).build(); + LocalDateTime ldt = LocalDateTime.now(); + ldt = ldt.plusDays(-1); + DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - SmokeResultResponseDto<AlarmMsgResponseDto> responseDto = smokeDetectionService.getListAlarmMsg(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + DetectorDailyParamDto paramDto = DetectorDailyParamDto.builder().AcquitDate(ldt.format(pattern)).build(); + + String json = smokeDetectionService.queryDataDetectorDaily2(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); if (responseDto.getStatus() == 200) { - AlarmMsgResponseDto dto = responseDto.getData(); - List<OdsAlarmMsg> list = dto.getContent(); - System.out.println(list.size()); - list.forEach(o->{ + DetectorDailyResponseDto dto = JSON.parseObject(responseDto.getData().toString(), DetectorDailyResponseDto.class); + List<OdsDetectorDaily> list = dto.getContent(); + list.forEach(o -> { try { - alarmMsgService.save(o); - } - catch (Exception ex){ + detectorDailyService.save(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()); } } catch (Exception ex) { + System.out.printf(ex.getMessage()); + } + } + + + @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц +// @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц + public void queryTenMinData() { + try { + TenMinParamDto paramDto = TenMinParamDto.builder().build(); + String json = smokeDetectionService.queryTenMinData(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); + + if (responseDto.getStatus() == 200) { + List<OdsTenMinData> list = JSON.parseArray(responseDto.getData().toString(), OdsTenMinData.class); + list.forEach(o -> { + try { + tenMinDataService.save(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()); + } + } catch (Exception ex) { + System.out.printf(ex.getMessage()); + } + } + + + // @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц + @Scheduled(cron = "0 */1 * * * ?") // 姣�5鍒嗛挓鎵ц + public void listDataInTime() { + DataIntimeParamDto paramDto = DataIntimeParamDto.builder().build(); + // {"StartAt":0,"Size":20,"Typ":2,"SortBy":"status","SortMode":"asc","Param":{"StatusOfRecord":"NORMAL"}}: + paramDto.setSize(200); + paramDto.setStartAt(0); + paramDto.setTyp(2); + paramDto.setSortBy("status"); + paramDto.setSortMode("asc"); + + DataIntimeParamChildDto paramChildDto = new DataIntimeParamChildDto(); + paramChildDto.setStatusOfRecord("NORMAL"); + paramDto.setParam(paramChildDto); + + getInTimeData(paramDto); + + paramDto.setTyp(1); + getInTimeData(paramDto); + } + + private void getInTimeData(DataIntimeParamDto paramDto) { + try { + String jj = JSON.toJSONString(paramDto); + String json = smokeDetectionService.listDataIntime(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); + + if (responseDto.getStatus() == 200) { + DataIntimeResponseDto dataIntimeResponseDto = JSON.parseObject(responseDto.getData().toString(), DataIntimeResponseDto.class); + List<OdsInTime> list = dataIntimeResponseDto.getContent(); + + OdsInTimeCount odsInTimeCount = new OdsInTimeCount(); + LambdaQueryWrapper<OdsInTimeCount> queryWrapper = new LambdaQueryWrapper<OdsInTimeCount>().eq(OdsInTimeCount::getType, paramDto.getTyp()); + List<OdsInTimeCount> countList = iOdsInTimeCountService.list(queryWrapper); + if (countList.size() > 0) { + odsInTimeCount = countList.get(0); + } + odsInTimeCount.setDeviceNum(dataIntimeResponseDto.getDeviceNum()); + odsInTimeCount.setLocaleNum(dataIntimeResponseDto.getLocaleNum()); + odsInTimeCount.setOnlineNum(dataIntimeResponseDto.getOnlineNum()); + odsInTimeCount.setTotal(dataIntimeResponseDto.getTotal()); + iOdsInTimeCountService.saveOrUpdate(odsInTimeCount); + + list.forEach(o -> { + try { + o.setModifyTime(LocalDateTime.now()); + o.setTyp(paramDto.getTyp()); + inTimeService.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()); + } + } catch (Exception ex) { + System.out.printf(ex.getMessage()); + } + } + + @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц +// @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц + public void listLocale() { + try { + LocaleParamDto paramDto = LocaleParamDto.builder().build(); + + String json = smokeDetectionService.listLocale(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); + + if (responseDto.getStatus() == 200) { + LocaleResponseDto responseDataDto = JSON.parseObject(responseDto.getData().toString(), LocaleResponseDto.class); + List<OdsLocale> list = responseDataDto.getContent(); + list.forEach(o -> { + try { + o.setCustomerString(JSON.toJSONString(o.getCustomer())); + localeService.save(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()); + } + } catch (Exception ex) { + System.out.printf(ex.getMessage()); + } + } + + + @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц +// @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц + public void queryCustomer() { + try { + CustomerParamDto paramDto = CustomerParamDto.builder().build(); + + String json = smokeDetectionService.queryCustomer(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); + + if (responseDto.getStatus() == 200) { + CustomerResponseDto responseDataDto = JSON.parseObject(responseDto.getData().toString(), CustomerResponseDto.class); + List<OdsCustomer> list = responseDataDto.getContent(); + list.forEach(o -> { + try { + o.setAreasString(o.getAreas() == null ? "" : JSON.toJSONString(o.getAreas())); + o.setAreaIdsString(o.getAreaIds() == null ? "" : JSON.toJSONString(o.getAreaIds())); + o.setAreaIdCascadsString(o.getAreaIdCascads() == null ? "" : JSON.toJSONString(o.getAreaIdCascads())); + customerService.save(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()); + } + } catch (Exception ex) { + System.out.printf(ex.getMessage()); + } + } + + @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц +// @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц + public void listAlarmRecord() { + try { + AlarmMsgParamDto paramDto = AlarmMsgParamDto.builder().build(); + + String json = smokeDetectionService.getListAlarmRecord(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); + + if (responseDto.getStatus() == 200) { + AlarmRecordResponseDto responseDataDto = JSON.parseObject(responseDto.getData().toString(), AlarmRecordResponseDto.class); + List<OdsAlarmRecord> list = responseDataDto.getContent(); + list.forEach(o -> { + try { + o.setAlarmRecordPicsString(JSON.toJSONString(o.getAlarmRecordPics())); + alarmRecordService.save(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()); + } + } catch (Exception ex) { + System.out.printf(ex.getMessage()); + } + } + + @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц +// @Scheduled(cron = "0/1 * * * * ?") // 姣忕鎵ц + public void listCurAlarm() { + try { + CurAlarmParamDto paramDto = CurAlarmParamDto.builder().Typ(2).build(); + + String json = smokeDetectionService.getListCurAlarm(paramDto, redisService.get(RedisKey.SMOKE_TOKEN).toString()); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); + + if (responseDto.getStatus() == 200) { + CurAlarmResponseDto responseDataDto = JSON.parseObject(responseDto.getData().toString(), CurAlarmResponseDto.class); + List<OdsCurAlarm> list = responseDataDto.getContent(); + list.forEach(o -> { + try { + curAlarmService.save(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()); + } + } catch (Exception ex) { + System.out.printf(ex.getMessage()); } } void login() { - LoginParamDto loginParamDto = LoginParamDto.builder().username("connect_test2").password("test@234").noCode(true).build(); - SmokeResultResponseDto<LoginResponseDto> responseDto = smokeDetectionService.loginAction(loginParamDto); + LoginParamDto loginParamDto = LoginParamDto.builder().username("閬傛槍鍩庣灞�").password("123456").noCode(true).build(); + String json = smokeDetectionService.loginAction(loginParamDto); + SmokeResultResponseDto responseDto = JSON.parseObject(json, SmokeResultResponseDto.class); if (responseDto.getStatus() == 200) { - System.out.println(responseDto.getData().getToken()); - redisService.set(RedisKey.SMOKE_TOKEN, responseDto.getData().getToken()); + LoginResponseDto loginResponseDto = JSON.parseObject(responseDto.getData().toString(), LoginResponseDto.class); + System.out.println(loginResponseDto.getToken()); + redisService.set(RedisKey.SMOKE_TOKEN, loginResponseDto.getToken()); } } } -- Gitblit v1.8.0