From e7a99f67219b47cfe8bc293c8729e719c2cc6d89 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期四, 31 八月 2023 10:29:20 +0800
Subject: [PATCH] 管线注释
---
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java | 250 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 210 insertions(+), 40 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 a2b42f9..1572fae 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
@@ -34,8 +34,8 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.device.external.domain.ArdEquipExternal;
import com.ruoyi.device.external.mapper.ArdEquipExternalMapper;
+import com.ruoyi.utils.gis.GisUtil;
import com.ruoyi.utils.tools.ArdTool;
-import com.ruoyi.utils.tools.GisTool;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
@@ -45,6 +45,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
+
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -277,6 +278,167 @@
}
}
+ @Override
+ public List<GlobalAlarmData> selectAlarmLogsAll() {
+ List<GlobalAlarmData> GlobalAlarmDataList = new ArrayList<>();
+ String refreshTime = configService.selectConfigByKey("refreshTime");
+ List<ArdAlarmStealelec> ardAlarmStealelecs = ardAlarmStealelecMapper.selectListAllByCommand(refreshTime);
+ List<GlobalAlarmData> alarmData1001 = ardAlarmStealelecs.stream()
+ .map(ardAlarmStealelec -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmStealelec.getId())
+ .setName(ardAlarmStealelec.getDescribe())
+ .setAlarmTime(ardAlarmStealelec.getStartTime())
+ .setLongitude(ardAlarmStealelec.getLongitude())
+ .setLatitude(ardAlarmStealelec.getLatitude())
+ .setAltitude(ardAlarmStealelec.getAltitude())
+ .setCount(ardAlarmStealelec.getCount())
+ .setTotal(ardAlarmStealelec.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1001.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1001);
+ }
+
+ List<ArdAlarmCamera> ardAlarmCameras = ardAlarmCameraMapper.selectListAllByCommand(refreshTime);
+ List<GlobalAlarmData> alarmData1002= ardAlarmCameras.stream()
+ .map(ardAlarmCamera -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmCamera.getId())
+ .setName(ardAlarmCamera.getCameraName())
+ .setAlarmTime(ardAlarmCamera.getAlarmTime())
+ .setLongitude(ardAlarmCamera.getLongitude())
+ .setLatitude(ardAlarmCamera.getLatitude())
+ .setCount(ardAlarmCamera.getCount())
+ .setTotal(ardAlarmCamera.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1002.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1002);
+ }
+
+ List<ArdAlarmRadar> ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "杩愬姩鐩爣妫�娴�");
+ List<GlobalAlarmData> alarmData1003= ardAlarmRadars.stream()
+ .map(ardAlarmRadar -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmRadar.getId())
+ .setName(ardAlarmRadar.getName())
+ .setAlarmTime(ardAlarmRadar.getAlarmTime())
+ .setLongitude(ardAlarmRadar.getLongitude())
+ .setLatitude(ardAlarmRadar.getLatitude())
+ .setCount(ardAlarmRadar.getCount())
+ .setTotal(ardAlarmRadar.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1003.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1003);
+ }
+
+ ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "鐑簮妫�娴�");
+ List<GlobalAlarmData> alarmData1004= ardAlarmRadars.stream()
+ .map(ardAlarmRadar -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmRadar.getId())
+ .setName(ardAlarmRadar.getName())
+ .setAlarmTime(ardAlarmRadar.getAlarmTime())
+ .setLongitude(ardAlarmRadar.getLongitude())
+ .setLatitude(ardAlarmRadar.getLatitude())
+ .setCount(ardAlarmRadar.getCount())
+ .setTotal(ardAlarmRadar.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1004.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1004);
+ }
+
+ List<ArdAlarmExternal> ardAlarmExternals = ardAlarmExternalMapper.selectListAllByCommand(refreshTime, "闃插尯鎶ヨ");
+ List<GlobalAlarmData> alarmData1005= ardAlarmExternals.stream()
+ .map(ardAlarmExternal -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmExternal.getId())
+ .setName(ardAlarmExternal.getAlarmName())
+ .setAlarmTime(ardAlarmExternal.getAlarmTime())
+ .setLongitude(ardAlarmExternal.getLongitude())
+ .setLatitude(ardAlarmExternal.getLatitude())
+ .setCount(ardAlarmExternal.getCount())
+ .setTotal(ardAlarmExternal.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1005.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1005);
+ }
+
+ List<ArdAlarmAccess> ardAlarmAccesses = ardAlarmAccessMapper.selectListAllByCommand(refreshTime);
+ List<GlobalAlarmData> alarmData1006= ardAlarmAccesses.stream()
+ .map(ardAlarmAccess -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmAccess.getId())
+ .setName(ardAlarmAccess.getAcsName())
+ .setAlarmTime(ardAlarmAccess.getAlarmTime())
+ .setLongitude(ardAlarmAccess.getLongitude())
+ .setLatitude(ardAlarmAccess.getLatitude())
+ .setCount(ardAlarmAccess.getCount())
+ .setTotal(ardAlarmAccess.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1006.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1006);
+ }
+
+ ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "闆疯揪鎶芥补鏈哄仠鏈�");
+ List<GlobalAlarmData> alarmData1007= ardAlarmRadars.stream()
+ .map(ardAlarmRadar -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmRadar.getId())
+ .setName(ardAlarmRadar.getName())
+ .setAlarmTime(ardAlarmRadar.getAlarmTime())
+ .setLongitude(ardAlarmRadar.getLongitude())
+ .setLatitude(ardAlarmRadar.getLatitude())
+ .setCount(ardAlarmRadar.getCount())
+ .setTotal(ardAlarmRadar.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1007.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1007);
+ }
+
+ List<ArdAlarmApponekey> ardAlarmApponekeys = ardAlarmApponekeyMapper.selectListAllByCommand(refreshTime);
+ List<GlobalAlarmData> alarmData1009= ardAlarmApponekeys.stream()
+ .map(ardAlarmApponekey -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmApponekey.getId())
+ .setName(ardAlarmApponekey.getName())
+ .setAlarmTime(ardAlarmApponekey.getCreateTime())
+ .setLongitude(ardAlarmApponekey.getLongitude())
+ .setLatitude(ardAlarmApponekey.getLatitude())
+ .setCount(ardAlarmApponekey.getCount())
+ .setTotal(ardAlarmApponekey.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1009.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1009);
+ }
+
+ List<ArdAlarmTube> ardAlarmTubes = ardAlarmTubeMapper.selectListAllByCommand(refreshTime);
+ List<GlobalAlarmData> alarmData1014= ardAlarmTubes.stream()
+ .map(ardAlarmTube -> {
+ GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+ .setId(ardAlarmTube.getId())
+ .setName(ardAlarmTube.getTubeName())
+ .setAlarmTime(ardAlarmTube.getAlarmTime())
+ .setLongitude(ardAlarmTube.getLongitude())
+ .setLatitude(ardAlarmTube.getLatitude())
+ .setAltitude(ardAlarmTube.getAltitude())
+ .setCount(ardAlarmTube.getCount())
+ .setTotal(ardAlarmTube.getTotal());
+ return globalAlarmData;
+ }).collect(Collectors.toList());
+ if(alarmData1014.size()>0) {
+ GlobalAlarmDataList.addAll(alarmData1014);
+ }
+ return GlobalAlarmDataList;
+}
+
/**
* @鎻忚堪 鍘嗗彶鎶ヨ鏌ヨ
* @鍙傛暟 [command, beginTime, endTime, pageNum, pageSize]
@@ -500,6 +662,7 @@
//region 澶勭悊閫氱敤鍏夌數鎶ヨ
ArdAlarmCamera ardAlarmCamera = JSONObject.parseObject(message, ArdAlarmCamera.class);
ardAlarmCamera.setId(IdUtils.simpleUUID());
+ ardAlarmCamera.setCreateTime(new Date());
int aac = ardAlarmCameraMapper.insertArdAlarmCamera(ardAlarmCamera);
if (aac > 0) {
log.debug("camera鍏ュ簱鎴愬姛锛�" + ardAlarmCamera);
@@ -508,8 +671,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) {
@@ -520,10 +681,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";
@@ -537,11 +697,20 @@
}
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) {
@@ -551,7 +720,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鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁�
@@ -564,7 +733,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++;
@@ -574,15 +743,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":
@@ -675,7 +839,6 @@
log.info("鐩告満:" + cameraId + "鏈紑鍚姤璀﹀紩瀵煎姛鑳�");
return;
}
-
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
GuideTask guideTask = new GuideTask();
//鐩告満ID
@@ -692,8 +855,7 @@
guideTask.setReceiveTime(fmt.format(receiveTime));
//鎶ヨ浼樺厛绾�(閫氳繃浼樺厛绾у瓧鍏�)
String priority = DictUtils.getDictValue("cameras_priority", alarmType);
- if(StringUtils.isEmpty(priority))
- {
+ if (StringUtils.isEmpty(priority)) {
log.debug("鏈尮閰嶅埌浼樺厛绾�,璇锋鏌ヤ紭鍏堢骇瀛楀吀閰嶇疆");
return;
}
@@ -734,35 +896,43 @@
*/
private String getNearbyCamera(double[] targetPosition) {
String minDistanceCameraId = "";
- //鑾峰彇鎵�鏈夊ぇ鍏夌數
- List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras("1"));
- //缁熻鎵�鏈夊ぇ鍏夌數鍙鑼冨洿鍐呬笌鎶ヨ鐐圭殑璺濈
- Map<String, Double> distanceMap = new HashMap<>();
- Map<String, Integer> guideMap = new HashMap<>();
- for (ArdCameras camera : ardCamerasList) {
- double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()};
- double distance = GisTool.getDistance(targetPosition, camPosition);
- if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) {
- distanceMap.put(camera.getId(), distance);
- if (StringUtils.isNull(camera.getCamAlarmGuideEnable())) {
- camera.setCamAlarmGuideEnable(0);
+ try {
+ //鑾峰彇鎵�鏈夊ぇ鍏夌數
+ List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras("1"));
+ //缁熻鎵�鏈夊ぇ鍏夌數鍙鑼冨洿鍐呬笌鎶ヨ鐐圭殑璺濈
+ Map<String, Double> distanceMap = new HashMap<>();
+ Map<String, Integer> guideMap = new HashMap<>();
+ for (ArdCameras camera : ardCamerasList) {
+ if (camera.getCamMaxVisibleDistance() == null) {
+ continue;
}
- guideMap.put(camera.getId(), camera.getCamAlarmGuideEnable());
+ double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()};
+ double distance = GisUtil.getDistance(targetPosition, camPosition);
+ if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) {
+ distanceMap.put(camera.getId(), distance);
+ if (StringUtils.isNull(camera.getCamAlarmGuideEnable())) {
+ camera.setCamAlarmGuideEnable(0);
+ }
+ guideMap.put(camera.getId(), camera.getCamAlarmGuideEnable());
+ }
}
- }
- if (distanceMap.size() > 0) {
- log.debug("灏濊瘯鏌ユ壘鏈�杩戝厜鐢�");
- //鑾峰彇璺濈瀛楀吀涓渶杩戠殑涓�涓浉鏈篒D
- minDistanceCameraId = ArdTool.getKeyByMinValue(distanceMap);
- log.debug("鏌ユ壘鍒版渶杩戝厜鐢�:" + minDistanceCameraId);
- if (guideMap.get(minDistanceCameraId).equals(0)) {
- log.debug("璇ュ厜鐢垫湭寮�鍚姤璀﹀紩瀵�");
- return " ";
+ if (distanceMap.size() > 0) {
+ log.debug("灏濊瘯鏌ユ壘鏈�杩戝厜鐢�");
+ //鑾峰彇璺濈瀛楀吀涓渶杩戠殑涓�涓浉鏈篒D
+ minDistanceCameraId = ArdTool.getKeyByMinValue(distanceMap);
+ log.debug("鏌ユ壘鍒版渶杩戝厜鐢�:" + minDistanceCameraId);
+ if (guideMap.get(minDistanceCameraId).equals(0)) {
+ log.debug("璇ュ厜鐢垫湭寮�鍚姤璀﹀紩瀵�");
+ return " ";
+ }
}
+ } catch (Exception ex) {
+ log.error("鑾峰彇闄勮繎寮�鍚姤璀﹀紩瀵煎姛鑳藉厜鐢靛紓甯�:" + ex.getMessage());
}
return minDistanceCameraId;
}
+
/**
* 闆疯揪寮曞鍏ラ槦
*/
--
Gitblit v1.9.3