Browse Source

修复无人机逻辑bug

Memory_LG 2 weeks ago
parent
commit
f24a086d2e

+ 2 - 0
src/main/java/com/sooka/sponest/event/centereventteventcatalogue/controller/AlarmEventController.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.sooka.sponest.event.centereventteventcatalogue.domain.dahua.DaHuaFireEventVO;
@@ -291,6 +292,7 @@ public class AlarmEventController extends BaseController {
             }
             List<DroneVO> droneArray = dataArray.stream()
                     .map(data -> JSON.parseObject(data.toString(), DroneVO.class))
+                    .peek(alarm -> alarm.setId(IdUtils.fastSimpleUUID()))
                     .collect(Collectors.toList());
             return toAjax(alarmEventService.insertDroneEvent(droneArray));
         } catch (Exception e) {

+ 13 - 8
src/main/java/com/sooka/sponest/event/centereventteventcatalogue/service/impl/AlarmEventServiceImpl.java

@@ -197,9 +197,12 @@ public class AlarmEventServiceImpl implements AlarmEventService {
     // 事件目录
     private CentereventTEventcatalogue insertEventCatalogue(CentereventTEventcatalogue centereventTEventcatalogue, CenterdataTCamera centerdataTCamera, Date createTime) {
         //生成uuid
-        String eventCode = IdUtils.simpleUUID();
-        centereventTEventcatalogue.setId(eventCode);
-        centereventTEventcatalogue.setEventCode(eventCode);
+        if(StringUtils.isEmpty(centereventTEventcatalogue.getId())){
+            String eventCode = IdUtils.simpleUUID();
+            centereventTEventcatalogue.setId(eventCode);
+            centereventTEventcatalogue.setEventCode(eventCode);
+        }
+
         if (null == centereventTEventcatalogue.getReportSource()) {
             centereventTEventcatalogue.setReportSource(REPORTING_SOURCE_1);//reporting_source_1
         }
@@ -709,9 +712,9 @@ public class AlarmEventServiceImpl implements AlarmEventService {
 
     @Override
     public int insertDroneEvent(List<DroneVO> alarmData) {
+
         // 通过无人机id, 获取无人机信息和绑定的指挥中心
         alarmData.forEach(alarm -> {
-
             Map<Object, Object> eventType = alarmEventMapper.getEventTypeByCodeTower(alarm.getAlarmType());
             if(null == eventType || eventType.isEmpty()){
                logger.error("事件类型未配置{}",alarm.getAlarmType());
@@ -749,6 +752,9 @@ public class AlarmEventServiceImpl implements AlarmEventService {
             //创建事件主体, 写入事件表.
             CentereventTEventcatalogue centereventTEventcatalogue = new CentereventTEventcatalogue(eventName, eventDescription.toString(), alarm.getLongitude(), alarm.getLatitude(), MapUtils.getString(data, "uavName"), alarm.getCreationTime(), "");
 
+            centereventTEventcatalogue.setId(alarm.getId());
+            centereventTEventcatalogue.setEventCode(alarm.getId());
+
             if("0".equals(MapUtils.getString(eventType, "parentId"))){
                 centereventTEventcatalogue.setEventType(MapUtils.getString(eventType, "eventType"));
             }else{
@@ -762,10 +768,10 @@ public class AlarmEventServiceImpl implements AlarmEventService {
             CenterdataTCamera centerdataTCamera = new CenterdataTCamera();
             centerdataTCamera.setId(MapUtils.getString(data, "id"));
             centerdataTCamera.setCameraName(MapUtils.getString(data, "uavName"));
-            centereventTEventcatalogue = this.insertEventCatalogue(centereventTEventcatalogue, centerdataTCamera, alarm.getCreationTime());
+            this.insertEventCatalogue(centereventTEventcatalogue, centerdataTCamera, alarm.getCreationTime());
+
+            String eventCode = alarm.getId();
 
-            String eventCode = centereventTEventcatalogue.getEventCode();
-            alarm.setId(eventCode);
             String createName = centereventTEventcatalogue.getCreateName();
             Date createTime = centereventTEventcatalogue.getCreateTime();
 
@@ -795,7 +801,6 @@ public class AlarmEventServiceImpl implements AlarmEventService {
             centereventTFireLog.setLogContent(centereventTEventcatalogue.getEventName() + System.getProperty("line.separator") + centereventTEventcatalogue.getEventDescription());
             centereventTFireLog.setOperation(BUS_OPER_TYPE_2);
             centereventTFireLog.setOperationType(LOG_OPER_TYPE_4);
-//            centereventTFireLog.setCreateBy(alarm.getCopterId());
             centereventTFireLog.setCreateName(centereventTEventcatalogue.getCreateName());
             centereventTFireLog.setCreateTime(centereventTEventcatalogue.getCreateTime());
             if (StringUtils.isNotEmpty(centereventTEventcatalogue.getLongitude())) {