aijinhui
2023-10-24 8a8a13eb80498e9b905b47b8dc4d52cd8fdb8497
ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -117,7 +117,7 @@
                camera.setState("0");
                return;
            }
            synchronized (lock) {
                log.debug("Login Success [ " + camera.getIp() + ":" + camera.getPort() + " ]");
                if (fExceptionCallBack == null) {
                    fExceptionCallBack = new ExceptionCallBack();//异常回调
@@ -133,16 +133,17 @@
                if (GlobalVariable.loginMap.containsKey(camera.getId())) {
                    GlobalVariable.loginMap.remove(camera.getId());
                }
                //删除管理通道
                ardChannelService.deleteArdChannelByDeviceId(camera.getId());
                GlobalVariable.loginMap.put(camera.getId(), lUserID);
                GlobalVariable.loginCameraMap.put(lUserID, camera);
                camera.setLoginId(lUserID);
                camera.setState("1");
                camera.setChanNum((int) m_strDeviceInfo.struDeviceV30.byChanNum);
                camera.setStartDChan((int) m_strDeviceInfo.struDeviceV30.byStartDChan);
                //获取最新通道
                List<ArdChannel> cameraChannelList = getCameraChannelList(camera);
                if (cameraChannelList.size() > 0) {
@@ -181,7 +182,7 @@
                    GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue);
                }
                ardCamerasService.updateArdCameras(camera);
            }
        } catch (Exception ex) {
            log.error("注册设备异常", ex);
@@ -502,6 +503,9 @@
     */
    @Override
    public Map<String, Object> getVideoCompressionCfg(CameraCmd cmd) {
        Map<String, Object> map = new HashMap<>();
        try {
        String cameraId = cmd.getCameraId();
        Integer chanNo = cmd.getChanNo();
        if (!GlobalVariable.loginMap.containsKey(cameraId)) {
@@ -509,12 +513,11 @@
        }
        Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId);
        Map<String, Object> map = new HashMap<>();
        NET_DVR_COMPRESSIONCFG_V30 compressioncfg = new NET_DVR_COMPRESSIONCFG_V30();
        compressioncfg.write();
        Pointer pioint = compressioncfg.getPointer();
        IntByReference ibrBytesReturned = new IntByReference(0);
        try {
            boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, HCNetSDK.NET_DVR_GET_COMPRESSCFG_V30, chanNo, pioint, compressioncfg.size(), ibrBytesReturned);
            if (bool) {
                compressioncfg.read();