From c57812396fb34070b6970d08457e090a1b6bcc47 Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期六, 29 三月 2025 16:11:12 +0800 Subject: [PATCH] hik温度更新 --- src/main/java/com/whyc/schedule/BattStationTempScheduleService.java | 99 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 88 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/whyc/schedule/BattStationTempScheduleService.java b/src/main/java/com/whyc/schedule/BattStationTempScheduleService.java index 35c90cf..e116f39 100644 --- a/src/main/java/com/whyc/schedule/BattStationTempScheduleService.java +++ b/src/main/java/com/whyc/schedule/BattStationTempScheduleService.java @@ -1,13 +1,16 @@ package com.whyc.schedule; -import com.whyc.constant.YamlProperties; -import com.whyc.dto.*; +import com.whyc.dto.Point; +import com.whyc.dto.Response; +import com.whyc.dto.TempPoint; import com.whyc.factory.ThreadPoolExecutorFactory; +import com.whyc.pojo.db_alarm.BattStationTempAlarm; +import com.whyc.pojo.db_batt.BattCamera; +import com.whyc.pojo.db_param.PageParam; import com.whyc.pojo.db_power_rt.BattStationTemp; +import com.whyc.service.BattStationTempAlarmService; import com.whyc.service.BattStationTempService; -import com.whyc.service.VideoService; -import com.whyc.util.DateUtil; -import com.whyc.util.FileUtil; +import com.whyc.service.PageParamService; import com.whyc.util.HikTempUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -15,8 +18,9 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import java.io.File; -import java.util.*; +import java.util.Date; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @EnableScheduling @@ -27,17 +31,28 @@ @Autowired private BattStationTempService service; + @Autowired + private BattStationTempAlarmService alarmService; + + @Autowired + private PageParamService paramService; + /** * 娓╁害瀹炴椂 * */ @Scheduled(fixedRate = 4000,initialDelay = 2000) public void startRecordAndCheck(){ - List<IpInfo> ipInfoList = HikTempUtil.ipInfoList; + List<BattCamera> ipInfoList = HikTempUtil.cameraInfoList; + List<PageParam> tempParmList = paramService.getTempParmList(); + Integer level2AlarmTemp = tempParmList.get(0).getValue(); + Integer level1AlarmTemp = tempParmList.get(1).getValue(); for (int i = 0; i < ipInfoList.size(); i++) { - IpInfo ipInfo = ipInfoList.get(i); + BattCamera cameraInfo = ipInfoList.get(i); ThreadPoolExecutorFactory.getPoolExecutor().execute(()-> { - String ip = ipInfo.getIp(); - String cameraId = ipInfo.getCameraId(); + String ip = cameraInfo.getCameraIp(); + String cameraId = cameraInfo.getCameraId(); + Integer battGroupId = cameraInfo.getBattGroupId(); + Integer stationId = cameraInfo.getStationId(); Response response = HikTempUtil.getTempPoint(ip); if ((Boolean) response.getData()){ @@ -68,8 +83,70 @@ battStationTemp.setCameraId(cameraId); Date date = new Date(); battStationTemp.setRecordTime(date); + battStationTemp.setBattGroupId(battGroupId); + battStationTemp.setStationId(stationId); service.addOrUpdate(battStationTemp); + //娓╁害鍘嗗彶-TODO + + //娓╁害鍛婅鍒ゆ柇 + //鏌ヨ娓╁害鍛婅琛紝濡傛灉瀛樺湪 + BattStationTempAlarm alarmInDB = alarmService.getByBattGroupId(battGroupId); + if(alarmInDB != null){ + //濡傛灉瀛樺湪,鍚屾椂褰撳墠娓╁害澶т簬2绾�,鍒欐洿鏂版俯搴﹀拰鍛婅绛夌骇 + if(battStationTemp.getMaxTemp()>=level2AlarmTemp){ + //娓╁害鐩稿悓,鏌ョ湅涓嬪憡璀︾瓑绾ф槸鍚︿竴鏍� + if(alarmInDB.getTemp().floatValue() == battStationTemp.getMaxTemp()){ + if((alarmInDB.getTemp().floatValue() == level2AlarmTemp + && alarmInDB.getLevel() == 2) + || + (alarmInDB.getTemp().floatValue() == level1AlarmTemp + && alarmInDB.getLevel() == 1) + ){ + + }else{ //鍛婅绛夌骇涓嶅悓,璋冩暣鍛婅绛夌骇 + BattStationTempAlarm alarm = new BattStationTempAlarm(); + alarm.setLevel(alarmInDB.getLevel()==1?2:1); + alarm.setId(alarmInDB.getId()); + alarmService.updateById(alarm); + } + + } + //娓╁害涓嶅悓 + else { + BattStationTempAlarm alarm = new BattStationTempAlarm(); + alarm.setId(alarmInDB.getId()); + alarm.setTemp(battStationTemp.getMaxTemp()); + if (battStationTemp.getMaxTemp() >= level1AlarmTemp) { //娓╁害澶т簬1绾ф姤璀︽俯搴� + alarm.setLevel(1); + } else { + alarm.setLevel(2); + } + alarmService.updateById(alarm); + } + }else { + //濡傛灉涓嶅瓨鍦ㄤ簡,琛ㄦ槑鍛婅缁撴潫,鏇存柊缁撴潫鏃堕棿 + BattStationTempAlarm alarm = new BattStationTempAlarm(); + alarm.setId(alarmInDB.getId()); + alarm.setEndTime(date); + alarmService.updateById(alarm); + } + } + + // 鍛婅琛ㄥ唴涓嶅瓨鍦ㄥ綋鍓嶇數姹犵粍鐨勫憡璀�,濡傛灉瓒呰繃鎶ヨ娓╁害,鍒欑敓鎴愬憡璀� + else if(battStationTemp.getMaxTemp()>=level2AlarmTemp){ //娓╁害澶т簬2绾ф姤璀︽俯搴� + BattStationTempAlarm alarm = new BattStationTempAlarm(); + alarm.setBattGroupId(battGroupId); + alarm.setStationId(stationId); + alarm.setTemp(battStationTemp.getMaxTemp()); + alarm.setStartTime(date); + if (battStationTemp.getMaxTemp()>=level1AlarmTemp){ //娓╁害澶т簬1绾ф姤璀︽俯搴� + alarm.setLevel(1); + }else{ + alarm.setLevel(2); + } + alarmService.add(alarm); + } }else{ String msg = response.getMsg(); -- Gitblit v1.9.1