|  |  | 
 |  |  |    @Autowired
 | 
 |  |  |    private SIPCommander cmder;
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  |    private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 | 
 |  |  | 
 | 
 |  |  |    @Override
 | 
 |  |  |    public void onApplicationEvent(OnlineEvent event) {
 | 
 |  |  | 		 | 
 |  |  |       if (logger.isDebugEnabled()) {
 | 
 |  |  |          logger.debug("设备上线事件触发,deviceId:" + event.getDevice().getDeviceId() + ",from:" + event.getFrom());
 | 
 |  |  |       }
 | 
 |  |  | 
 | 
 |  |  |       logger.info("设备上线事件触发,deviceId:" + event.getDevice().getDeviceId() + ",from:" + event.getFrom());
 | 
 |  |  |       Device device = event.getDevice();
 | 
 |  |  |       if (device == null) return;
 | 
 |  |  |       String key = VideoManagerConstants.KEEPLIVEKEY_PREFIX + userSetting.getServerId() + "_" + event.getDevice().getDeviceId();
 | 
 |  |  | 
 |  |  |          if (deviceInStore == null) { //第一次上线
 | 
 |  |  |             logger.info("[{}] 首次注册,查询设备信息以及通道信息", device.getDeviceId());
 | 
 |  |  |             cmder.deviceInfoQuery(device);
 | 
 |  |  |             cmder.catalogQuery(device, null);
 | 
 |  |  |             deviceService.sync(device);
 | 
 |  |  |          }
 | 
 |  |  |          break;
 | 
 |  |  |       // 设备主动发送心跳触发的在线事件
 | 
 |  |  | 
 |  |  |       }
 | 
 |  |  |       // 处理上线监听
 | 
 |  |  |       storager.updateDevice(device);
 | 
 |  |  |       List<DeviceChannel> deviceChannelList = storager.queryOnlineChannelsByDeviceId(device.getDeviceId());
 | 
 |  |  |       eventPublisher.catalogEventPublish(null, deviceChannelList, CatalogEvent.ON);
 | 
 |  |  |       // 上线添加订阅
 | 
 |  |  |       if (device.getSubscribeCycleForCatalog() > 0) {
 | 
 |  |  |          // 查询在线设备那些开启了订阅,为设备开启定时的目录订阅
 | 
 |  |  |          deviceService.addCatalogSubscribe(device);
 | 
 |  |  |       }
 | 
 |  |  |       if (device.getSubscribeCycleForMobilePosition() > 0) {
 | 
 |  |  |          deviceService.addMobilePositionSubscribe(device);
 | 
 |  |  |       }
 | 
 |  |  |    }
 |