648540858
2024-05-29 764d04b497356ba6bcbb75fd42b51eca750f7223
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
old mode 100644 new mode 100755
@@ -75,6 +75,9 @@
    @Autowired
    private ThreadPoolTaskExecutor taskExecutor;
    @Autowired
    private EventPublisher eventPublisher;
    @Override
    public void afterPropertiesSet() throws Exception {
@@ -137,6 +140,7 @@
                                MobilePosition mobilePosition = new MobilePosition();
                                mobilePosition.setCreateTime(DateUtil.getNow());
                                mobilePosition.setDeviceId(deviceAlarm.getDeviceId());
                                mobilePosition.setChannelId(channelId);
                                mobilePosition.setTime(deviceAlarm.getAlarmTime());
                                mobilePosition.setLongitude(deviceAlarm.getLongitude());
                                mobilePosition.setLatitude(deviceAlarm.getLatitude());
@@ -157,22 +161,7 @@
                                mobilePosition.setLongitudeGcj02(deviceChannel.getLongitudeGcj02());
                                mobilePosition.setLatitudeGcj02(deviceChannel.getLatitudeGcj02());
                                if (userSetting.getSavePositionHistory()) {
                                    storager.insertMobilePosition(mobilePosition);
                                }
                                storager.updateChannelPosition(deviceChannel);
                                // 发送redis消息。 通知位置信息的变化
                                JSONObject jsonObject = new JSONObject();
                                jsonObject.put("time", mobilePosition.getTime());
                                jsonObject.put("serial", deviceChannel.getDeviceId());
                                jsonObject.put("code", deviceChannel.getChannelId());
                                jsonObject.put("longitude", mobilePosition.getLongitude());
                                jsonObject.put("latitude", mobilePosition.getLatitude());
                                jsonObject.put("altitude", mobilePosition.getAltitude());
                                jsonObject.put("direction", mobilePosition.getDirection());
                                jsonObject.put("speed", mobilePosition.getSpeed());
                                redisCatchStorage.sendMobilePositionMsg(jsonObject);
                                deviceChannelService.updateChannelGPS(device, deviceChannel, mobilePosition);
                            }
                        }
                        if (!ObjectUtils.isEmpty(deviceAlarm.getDeviceId())) {
@@ -269,12 +258,15 @@
        if (channelId.equals(parentPlatform.getDeviceGBId())) {
            // 发送给平台的报警信息。 发送redis通知
            AlarmChannelMessage alarmChannelMessage = new AlarmChannelMessage();
            alarmChannelMessage.setAlarmSn(Integer.parseInt(deviceAlarm.getAlarmMethod()));
            if (deviceAlarm.getAlarmMethod() != null) {
                alarmChannelMessage.setAlarmSn(Integer.parseInt(deviceAlarm.getAlarmMethod()));
            }
            alarmChannelMessage.setAlarmDescription(deviceAlarm.getAlarmDescription());
            alarmChannelMessage.setGbId(channelId);
            alarmChannelMessage.setAlarmType(Integer.parseInt(deviceAlarm.getAlarmType()));
            if (deviceAlarm.getAlarmType() != null) {
                alarmChannelMessage.setAlarmType(Integer.parseInt(deviceAlarm.getAlarmType()));
            }
            redisCatchStorage.sendAlarmMsg(alarmChannelMessage);
            return;
        }
    }
}