From 44f2a0a32c096bdb05d4cc0ac162cdc1eb14c3ed Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: 星期四, 10 八月 2023 13:14:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java | 44 ++++++++++++++++++++++++--------------------
1 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
index 94c327e..c7d9fb5 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -30,8 +30,8 @@
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.DictUtils;
import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.constant.CamPriority;
import com.ruoyi.device.external.domain.ArdEquipExternal;
import com.ruoyi.device.external.mapper.ArdEquipExternalMapper;
import com.ruoyi.utils.tools.ArdTool;
@@ -42,8 +42,6 @@
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.utils.tube.GeoPoint;
import com.ruoyi.utils.tube.TubeTools;
-import lombok.AllArgsConstructor;
-import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -51,9 +49,9 @@
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
-import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
+
/**
* @Description: 鍏ㄥ眬鎶ヨ涓氬姟
@@ -511,8 +509,6 @@
break;
case "radar":
//region 澶勭悊闆疯揪鎶ヨ
- // 寮�濮嬫椂闂�
- long stime = System.currentTimeMillis();
RadarAlarmData radarAlarmData = JSONObject.parseObject(message, RadarAlarmData.class);
List<ArdAlarmRadar> ardAlarmRadars = radarAlarmData.getArdAlarmRadars();
for (ArdAlarmRadar ardAlarmRadar : ardAlarmRadars) {
@@ -523,10 +519,9 @@
ardAlarmRadar.setName(ardAlarmRadar.getName() + "(" + radarAlarmData.getRadarName() + ")");//鎶ヨ鐐瑰悕绉�
ardAlarmRadar.setCreateTime(new Date());//鎺ユ敹鏃堕棿
- String alarmType = "";
switch (ardAlarmRadar.getAlarmType()) {
case "杩愬姩鐩爣妫�娴�":
- alarmType = "sys_radar_move";
+ String alarmType = "sys_radar_move";
break;
case "鐑簮妫�娴�":
alarmType = "sys_radar_fire";
@@ -540,11 +535,21 @@
}
break;
}
+ //鍏ュ簱
+ ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar);
+
+ }
+ //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦
+ ardAlarmRadars = ardAlarmRadars.stream()
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadar::getName))), ArrayList::new));
+ for(ArdAlarmRadar ardAlarmRadar : ardAlarmRadars)
+ {
+ //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞
if (StringUtils.isNull(ardAlarmRadar.getLongitude()) || StringUtils.isNull(ardAlarmRadar.getLatitude())) {
+ //鍧愭爣涓虹┖涓嶅紩瀵�
continue;
}
double[] coordinate = new double[]{ardAlarmRadar.getLongitude(), ardAlarmRadar.getLatitude()};//鎶ヨ鍧愭爣
-
//浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞
ArdAlarmRadar AlarmRadar = redisCache.getCacheObject("global_alarm:" + ardAlarmRadar.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁
if (AlarmRadar == null) {
@@ -554,7 +559,7 @@
redisCache.setCacheObject("global_alarm:" + ardAlarmRadar.getName(), ardAlarmRadar, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis
unGuideCountMap.put(ardAlarmRadar.getName(), 0);
//寮曞鍏ラ槦
- radarGuide(radarAlarmData.getRadarId(), alarmpointName, alarmType, ardAlarmRadar.getCreateTime(), coordinate);
+ radarGuide(radarAlarmData.getRadarId(), ardAlarmRadar.getName(), ardAlarmRadar.getAlarmType(), ardAlarmRadar.getCreateTime(), coordinate);
} else {
//5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁�
@@ -567,7 +572,7 @@
redisCache.setCacheObject("global_alarm:" + ardAlarmRadar.getName(), ardAlarmRadar, 5, TimeUnit.MINUTES);
count = 0;
//寮曞鍏ラ槦
- radarGuide(radarAlarmData.getRadarId(), alarmpointName, alarmType, ardAlarmRadar.getCreateTime(), coordinate);
+ radarGuide(radarAlarmData.getRadarId(), ardAlarmRadar.getName(), ardAlarmRadar.getAlarmType(), ardAlarmRadar.getCreateTime(), coordinate);
} else {
ardAlarmRadar.setGuideFlag(0);
count++;
@@ -577,15 +582,10 @@
count = 0;
}
unGuideCountMap.put(ardAlarmRadar.getName(), count);
+ //鏇存柊
+ ardAlarmRadarMapper.updateArdAlarmRadar(ardAlarmRadar);
}
- //鍏ュ簱
- ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar);
- // 缁撴潫鏃堕棿
- long etime = System.currentTimeMillis();
- // 璁$畻鎵ц鏃堕棿
- log.debug("闆疯揪鎶ヨ澶勭悊鏃堕暱锛�" + (etime - stime) + "姣");
}
-
//endregion
break;
case "external":
@@ -694,8 +694,12 @@
//鎺ユ敹鏃堕棿
guideTask.setReceiveTime(fmt.format(receiveTime));
//鎶ヨ浼樺厛绾�(閫氳繃浼樺厛绾у瓧鍏�)
- Integer priority = CamPriority.priorityMap.get(alarmType);
- guideTask.setPriority(priority);
+ String priority = DictUtils.getDictValue("cameras_priority", alarmType);
+ if (StringUtils.isEmpty(priority)) {
+ log.debug("鏈尮閰嶅埌浼樺厛绾�,璇锋鏌ヤ紭鍏堢骇瀛楀吀閰嶇疆");
+ return;
+ }
+ guideTask.setPriority(Integer.valueOf(priority));
//鎶ヨ娆℃暟
guideTask.setNum(num);
//褰曞儚瀛樺偍浣嶇疆
--
Gitblit v1.9.3