球机修改,先登出再登录

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

@ -47,7 +47,7 @@ public class CameraControlController {
log.info("相机登录 cameraId:{}",cameraId);
Camera camera = cameraMapper.selectById(cameraId);
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;
}

@ -43,7 +43,12 @@ public class CameraConnMap {
}
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 {
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
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(cameraId != null){
@ -18,7 +19,10 @@ public class HikExceptionCallBack implements HCNetSDK.FExceptionCallBack {
}
}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;
import com.sun.jna.Pointer;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlLoginModule;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
import lombok.extern.slf4j.Slf4j;
@ -68,7 +69,14 @@ public class HikLoginModuleImpl implements CameraControlLoginModule {
*
* \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();
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();//设备信息

@ -117,7 +117,7 @@ public class JoywareLoginModuleImpl implements CameraControlLoginModule {
*
* \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);
//入参
init(disConnectCallBack,haveReConnect);

@ -351,7 +351,7 @@ public class CameraService {
}
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){
log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getIp());
CameraConnMap.conn(camera.getId(),lLong);

Loading…
Cancel
Save