package com.greentech.gateservice.service; ////原com.greentech.controller.ReConnect.java import com.greentech.gateservice.util.HttpRequest; import com.netsdk.lib.NetSDKLib; import com.sun.jna.Pointer; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import com.greentech.gateservice.entity.*; import com.greentech.gateservice.controller.CameraController; public class CameraReConnect implements NetSDKLib.fHaveReConnect { private static JedisPool jedisPool = null; public CameraReConnect(JedisPool jedisPoolx) { jedisPool = jedisPoolx; } @Override public void invoke(NetSDKLib.LLong lLong, String s, int i, Pointer pointer) { CameraDeviceInfo cdi = CameraController.getCameraDeviceInfoForIp(s); if (cdi != null) { System.out.format("online:%s:%s", cdi.serialNumber, cdi.ip); try { Jedis publisher = jedisPool.getResource(); publisher.publish("channel:ptz:92", String.format("online:%s:%s", cdi.serialNumber, cdi.ip)); String response = HttpRequest.put(String.format("http://47.96.12.136:8788/api/v1/monitor/online_status/92/%s/1", cdi.serialNumber), ""); System.out.format("sync device online status to online result: %s => %s", cdi.serialNumber, response); } catch (Exception e) { System.out.format("sync device online status to online exception: %s => %s", cdi.serialNumber, e.getMessage()); } } } }