浏览代码

无人机事件类型修正

Memory_LG 5 天之前
父节点
当前提交
c24b2b0f13

+ 20 - 11
src/main/java/com/sooka/sponest/event/centereventteventcatalogue/service/impl/AlarmEventServiceImpl.java

@@ -702,21 +702,30 @@ public class AlarmEventServiceImpl implements AlarmEventService {
 
     @Override
     public int insertDroneEvent(List<DroneVO> alarmData) {
-         // 将告警图片转换为本地图片
-        alarmData.parallelStream().forEach(item -> {
-            item.setId(IdUtils.simpleUUID());
-            try {
-                MultipartFile multipartFile = FilePrefixUtils.urlToMultipartFile(item.getPhotoPath(), System.currentTimeMillis() + ".jpg");
-                item.setLocalPath(fileService.upload(multipartFile).getData().getUrl());
-            } catch (Exception e) {
-                logger.error("Failed to process image for item {}: {}", item.getId(), e.getMessage());
-            }
-        });
         // 通过无人机id, 获取无人机信息和绑定的指挥中心
         alarmData.forEach(alarm -> {
-            Map<String, Object> data = (Map<String, Object>) SpringUtils.getBean(RemoteMonitorService.class).selectUavByUavId(alarm.getCopterId(), "1").get("data");
+            alarm.setId(IdUtils.simpleUUID());
 
             Map<Object, Object> eventType = alarmEventMapper.getEventTypeByCodeTower(alarm.getAlarmType());
+            if(null == eventType || eventType.isEmpty()){
+               logger.error("事件类型未配置{}",alarm.getAlarmType());
+               return;
+            }
+
+            Map<String, Object> data = (Map<String, Object>) SpringUtils.getBean(RemoteMonitorService.class).selectUavByUavId(alarm.getCopterId(), "1").get("data");
+
+            if(null == data || data.isEmpty()){
+                logger.error("未配置指挥中心{}",alarm.getCopterId());
+                return;
+            }
+
+            try{
+                MultipartFile multipartFile = FilePrefixUtils.urlToMultipartFile(alarm.getPhotoPath(), System.currentTimeMillis() + ".jpg");
+                alarm.setLocalPath(fileService.upload(multipartFile).getData().getUrl());
+            }catch (Exception e){
+                logger.error(e.getMessage());
+            }
+
 
             String eventName = MapUtils.getString(data, "uavName") + "上报" + MapUtils.getString(eventType, "eventTypeName") + "事件";
             String eventDescription = "基站:" + MapUtils.getString(data, "baseStationName") + ",无人机:" + MapUtils.getString(data, "uavName") + ",经度:" + alarm.getLongitude() + ",纬度:" + alarm.getLatitude() + ",海拔:" + alarm.getAltitude();