CameraReConnect.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.greentech.gateservice.service;
  2. ////原com.greentech.controller.ReConnect.java
  3. import com.greentech.gateservice.util.HttpRequest;
  4. import com.netsdk.lib.NetSDKLib;
  5. import com.sun.jna.Pointer;
  6. import redis.clients.jedis.Jedis;
  7. import redis.clients.jedis.JedisPool;
  8. import com.greentech.gateservice.entity.*;
  9. import com.greentech.gateservice.controller.CameraController;
  10. public class CameraReConnect implements NetSDKLib.fHaveReConnect {
  11. private static JedisPool jedisPool = null;
  12. public CameraReConnect(JedisPool jedisPoolx) {
  13. jedisPool = jedisPoolx;
  14. }
  15. @Override
  16. public void invoke(NetSDKLib.LLong lLong, String s, int i, Pointer pointer) {
  17. CameraDeviceInfo cdi = CameraController.getCameraDeviceInfoForIp(s);
  18. if (cdi != null) {
  19. System.out.format("online:%s:%s", cdi.serialNumber, cdi.ip);
  20. try {
  21. Jedis publisher = jedisPool.getResource();
  22. publisher.publish("channel:ptz:92", String.format("online:%s:%s", cdi.serialNumber, cdi.ip));
  23. String response = HttpRequest.put(String.format("http://47.96.12.136:8788/api/v1/monitor/online_status/92/%s/1", cdi.serialNumber), "");
  24. System.out.format("sync device online status to online result: %s => %s", cdi.serialNumber, response);
  25. } catch (Exception e) {
  26. System.out.format("sync device online status to online exception: %s => %s", cdi.serialNumber, e.getMessage());
  27. }
  28. }
  29. }
  30. }