球机修改,先登出再登录

bozhou-古井贡酒
LAPTOP-S9HJSOEB\昊天 2 years ago
parent a42d5fe2a6
commit 370bc6af93

@ -47,7 +47,7 @@ public class CameraControlController {
log.info("相机登录 cameraId:{}",cameraId); log.info("相机登录 cameraId:{}",cameraId);
Camera camera = cameraMapper.selectById(cameraId); Camera camera = cameraMapper.selectById(cameraId);
Assert.notNull(camera,"球机不存在"); Assert.notNull(camera,"球机不存在");
NetSDKLib.LLong lLong = loginControlModule.login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword()); NetSDKLib.LLong lLong = loginControlModule.login(cameraId,camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword());
return lLong; return lLong;
} }

@ -43,7 +43,12 @@ public class CameraConnMap {
} }
public static Integer getCameraIdByLoginId(NetSDKLib.LLong lLong){ public static Integer getCameraIdByLoginId(NetSDKLib.LLong lLong){
return loginMap.get(lLong); for (Integer integer : cameraMap.keySet()){
if (cameraMap.get(integer).equals(lLong)) {
return integer;
}
}
return null;
} }
} }

@ -4,6 +4,6 @@ import com.zhehekeji.web.lib.joyware.NetSDKLib;
public interface CameraControlLoginModule { public interface CameraControlLoginModule {
NetSDKLib.LLong login(String ip, int port, String user, String password); NetSDKLib.LLong login(Integer id,String ip, int port, String user, String password);
} }

@ -10,7 +10,8 @@ public class HikExceptionCallBack implements HCNetSDK.FExceptionCallBack {
@Override @Override
public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) { public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) {
Integer cameraId =CameraConnMap.getCameraIdByLoginId(new NetSDKLib.LLong(lUserID)); NetSDKLib.LLong lLoginID = new NetSDKLib.LLong(lUserID);
Integer cameraId =CameraConnMap.getCameraIdByLoginId(lLoginID);
if(dwType == 32768){ if(dwType == 32768){
if(cameraId != null){ if(cameraId != null){
@ -18,7 +19,10 @@ public class HikExceptionCallBack implements HCNetSDK.FExceptionCallBack {
} }
}else if(dwType == 32791){ }else if(dwType == 32791){
log.info("hik reconnect,cameraId:{}", CameraConnMap.getCameraIdByLoginId(new NetSDKLib.LLong(lUserID))); if(CameraConnMap.getCameraIdByLoginId(lLoginID) == null){
CameraConnMap.conn(cameraId,lLoginID);
}
log.info("hik reconnect,cameraId:{}", CameraConnMap.getCameraIdByLoginId(lLoginID));
} }
} }

@ -1,6 +1,7 @@
package com.zhehekeji.web.lib.hik; package com.zhehekeji.web.lib.hik;
import com.sun.jna.Pointer; import com.sun.jna.Pointer;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlLoginModule; import com.zhehekeji.web.lib.CameraControlLoginModule;
import com.zhehekeji.web.lib.joyware.NetSDKLib; import com.zhehekeji.web.lib.joyware.NetSDKLib;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -68,7 +69,14 @@ public class HikLoginModuleImpl implements CameraControlLoginModule {
* *
* \endif * \endif
*/ */
public NetSDKLib.LLong login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) { public NetSDKLib.LLong login(Integer cameraId,String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
//先注销,再登录
if(CameraConnMap.getConnId(cameraId) !=null){
if (hcNetsdk.NET_DVR_Logout_V30(CameraConnMap.getConnId(cameraId).intValue())){
log.info("hik camera:{}注销",cameraId);
}
}
CameraConnMap.disConn(cameraId);
init(); init();
HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();//设备登录信息 HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();//设备登录信息
HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();//设备信息 HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();//设备信息

@ -117,7 +117,7 @@ public class JoywareLoginModuleImpl implements CameraControlLoginModule {
* *
* \endif * \endif
*/ */
public LLong login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) { public LLong login(Integer cameraId,String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
//IntByReference nError = new IntByReference(0); //IntByReference nError = new IntByReference(0);
//入参 //入参
init(disConnectCallBack,haveReConnect); init(disConnectCallBack,haveReConnect);

@ -351,7 +351,7 @@ public class CameraService {
} }
public void cameraLogin(Camera camera){ public void cameraLogin(Camera camera){
NetSDKLib.LLong lLong = cameraControlLoginModule.login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword()); NetSDKLib.LLong lLong = cameraControlLoginModule.login(camera.getId(),camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword());
if(lLong != null){ if(lLong != null){
log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getIp()); log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getIp());
CameraConnMap.conn(camera.getId(),lLong); CameraConnMap.conn(camera.getId(),lLong);

Loading…
Cancel
Save