From dd84c954253800217461651d7ff1ac290962c60a Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期六, 22 六月 2024 10:13:12 +0800 Subject: [PATCH] 24小时报警兴趣点前十统计bug修改提交 --- ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java | 315 ++++++++++++++++++++++++++-------------------------- 1 files changed, 157 insertions(+), 158 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java index 2d56529..ef02d00 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java +++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java @@ -4,6 +4,8 @@ import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.global.service.impl.QueueHandler; import com.ruoyi.common.annotation.SdkOperate; +import com.ruoyi.common.config.ARDConfig; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.file.MimeTypeUtils; @@ -80,7 +82,7 @@ try { // 鍒濆鍖� if (!hCNetSDK.NET_DVR_Init()) { - log.error("SDK鍒濆鍖栧け璐�"); + log.debug("SDK鍒濆鍖栧け璐�"); } //鎵撳嵃娴峰悍sdk鏃ュ織 if (Platform.isWindows()) { @@ -123,8 +125,8 @@ //鍒犻櫎绠$悊閫氶亾 ardChannelService.deleteArdChannelByDeviceId(camera.getId()); ardCamerasService.updateArdCameras(camera); - log.error("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode)); - return AjaxResult.error("璁惧鐧诲綍澶辫触: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode)); + log.debug("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触: " + SdkErrorCodeEnum.getDescByCode(errorCode) + "(" + errorCode + ")"); + return AjaxResult.warn("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触: " + SdkErrorCodeEnum.getDescByCode(errorCode) + "(" + errorCode + ")"); } log.debug("Login Success [ " + camera.getIp() + ":" + camera.getPort() + " ]"); @@ -138,37 +140,32 @@ } } - if (GlobalVariable.loginMap.containsKey(camera.getId())) { - GlobalVariable.loginMap.remove(camera.getId()); - } - - //鍒犻櫎绠$悊閫氶亾 - ardChannelService.deleteArdChannelByDeviceId(camera.getId()); +// if (GlobalVariable.loginMap.containsKey(camera.getId())) { +// GlobalVariable.loginMap.remove(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); + int chanNum = m_strDeviceInfo.struDeviceV30.byChanNum; + int startDchan = m_strDeviceInfo.struDeviceV30.byStartDChan + 1; + if (camera.getGdtype().equals("2")) { + chanNum = m_strDeviceInfo.struDeviceV30.byIPChanNum; + startDchan = m_strDeviceInfo.struDeviceV30.byStartDChan; + } + camera.setChanNum(chanNum); + camera.setStartDChan(startDchan); //鑾峰彇鏈�鏂伴�氶亾 - List<ArdChannel> cameraChannelList = getIPChannelInfo(camera); + List<ArdChannel> cameraChannelList = getChannels(camera); if (cameraChannelList.size() > 0) { camera.setChannelList(cameraChannelList); - for (ArdChannel channel : cameraChannelList) { - channel.setId(IdUtils.simpleUUID()); - ardChannelService.insertArdChannel(channel); - } + camera.setChanNum(cameraChannelList.size()); + ardCamerasService.updateArdCameras(camera); //娣诲姞鍒版祦濯掍綋 addVtdu(camera); } //鍒涘缓寮曞闃熷垪 - if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) { - Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator(); - PriorityBlockingQueue<GuideTask> priorityQueue = new PriorityBlockingQueue<>(1000, comparator); - GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue); - } - ardCamerasService.updateArdCameras(camera); + createGuideQueue(camera); return AjaxResult.success("璁惧鐧诲綍鎴愬姛"); } catch (Exception ex) { log.error("璁惧鐧诲綍寮傚父", ex); @@ -191,7 +188,7 @@ // 鍒濆鍖� if (!hCNetSDK.NET_DVR_Init()) { log.error("SDK鍒濆鍖栧け璐�"); - return AjaxResult.error("SDK鍒濆鍖栧け璐�"); + return AjaxResult.warn("SDK鍒濆鍖栧け璐�"); } //鎵撳嵃娴峰悍sdk鏃ュ織 if (Platform.isWindows()) { @@ -234,8 +231,8 @@ //鍒犻櫎绠$悊閫氶亾 ardChannelService.deleteArdChannelByDeviceId(camera.getId()); ardCamerasService.updateArdCameras(camera); - log.error("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode)); - return AjaxResult.error("璁惧鐧诲綍澶辫触: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode)); + log.error("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触: " + SdkErrorCodeEnum.getDescByCode(errorCode) + "(" + errorCode + ")"); + return AjaxResult.warn("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触: " + SdkErrorCodeEnum.getDescByCode(errorCode) + "(" + errorCode + ")"); } log.debug("Login Success 銆� " + camera.getIp() + ":" + camera.getPort() + " 銆�"); synchronized (_lock) { @@ -249,33 +246,30 @@ } } } - if (GlobalVariable.loginMap.containsKey(camera.getId())) { - GlobalVariable.loginMap.remove(camera.getId()); - } - - //鍒犻櫎绠$悊閫氶亾 - ardChannelService.deleteArdChannelByDeviceId(camera.getId()); +// if (GlobalVariable.loginMap.containsKey(camera.getId())) { +// GlobalVariable.loginMap.remove(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); - + int chanNum = m_strDeviceInfo.struDeviceV30.byChanNum; + int startDchan = m_strDeviceInfo.struDeviceV30.byStartDChan + 1; + if (camera.getGdtype().equals("2")) { + chanNum = m_strDeviceInfo.struDeviceV30.byIPChanNum; + startDchan = m_strDeviceInfo.struDeviceV30.byStartDChan; + } + camera.setChanNum(chanNum); + camera.setStartDChan(startDchan); //鑾峰彇鏈�鏂伴�氶亾 - List<ArdChannel> cameraChannelList = getIPChannelInfo(camera); + List<ArdChannel> cameraChannelList = getChannels(camera); if (cameraChannelList.size() > 0) { camera.setChannelList(cameraChannelList); camera.setChanNum(cameraChannelList.size()); - for (ArdChannel channel : cameraChannelList) { - channel.setId(IdUtils.simpleUUID()); - ardChannelService.insertArdChannel(channel); - } + ardCamerasService.updateArdCameras(camera); + //娣诲姞鍒版祦濯掍綋 + addVtdu(camera); } - ardCamerasService.updateArdCameras(camera); - //娣诲姞鍒版祦濯掍綋 - addVtdu(camera); //鍒涘缓寮曞闃熷垪 createGuideQueue(camera); return AjaxResult.success("璁惧鐧诲綍鎴愬姛"); @@ -287,15 +281,13 @@ //鍒涘缓寮曞闃熷垪 private void createGuideQueue(ArdCameras camera) { - if (camera.getCamAlarmGuideEnable() != null) { - if (camera.getCamAlarmGuideEnable() == 1) { - if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) { - Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator(); - PriorityBlockingQueue<GuideTask> priorityQueue = new PriorityBlockingQueue<>(1000, comparator); - GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue); - //鍚姩闃熷垪澶勭悊鍣� - queueHandler.process(camera.getId()); - } + if (camera.getGdtype().equals("1")) { + if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) { + Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator(); + PriorityBlockingQueue<GuideTask> priorityQueue = new PriorityBlockingQueue<>(1000, comparator); + GuidePriorityQueue.cameraQueueMap.put(camera.getId(), priorityQueue); + //鍚姩闃熷垪澶勭悊鍣� + queueHandler.process(camera.getId()); } } } @@ -391,7 +383,7 @@ Integer speed = cmd.getSpeed(); Integer code = cmd.getCode(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); int dwStop; @@ -460,7 +452,7 @@ if (!bool) { int errorCode = hCNetSDK.NET_DVR_GetLastError(); log.error("鎺у埗澶辫触: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode)); - return AjaxResult.error("鎺у埗澶辫触: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode)); + return AjaxResult.warn("鎺у埗澶辫触:" + SdkErrorCodeEnum.getDescByCode(errorCode) + "(" + errorCode + ")"); } return AjaxResult.success("鎺у埗鎴愬姛"); } @@ -476,7 +468,7 @@ Integer channelNum = cmd.getChanNo(); Integer dwFocusPos = cmd.getDwFocusPos(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } // 鑾峰彇鍙傛暟 Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); @@ -494,7 +486,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璁剧疆GIS淇℃伅鏁版嵁澶辫触,璇风◢鍚庨噸璇�" + code); - return AjaxResult.error("璁剧疆GIS淇℃伅鏁版嵁澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("璁剧疆GIS淇℃伅鏁版嵁澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } return AjaxResult.success("璁剧疆GIS淇℃伅鏁版嵁鎴愬姛"); } @@ -526,7 +518,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鑾峰彇鑱氱劍鍊煎け璐�: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇鑱氱劍鍊煎け璐�: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇鑱氱劍鍊煎け璐�:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } struGisInfo.read(); int result = struGisInfo.struPtzPosEx.dwFocus; @@ -551,7 +543,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("棰勭疆鐐硅缃け璐�: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("棰勭疆鐐硅缃け璐�: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("棰勭疆鐐硅缃け璐�:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } return AjaxResult.success("棰勭疆鐐硅缃垚鍔�"); } @@ -574,7 +566,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璋冪敤棰勭疆鐐瑰け璐�: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("璋冪敤棰勭疆鐐瑰け璐�: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("璋冪敤棰勭疆鐐瑰け璐�:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } return AjaxResult.success("璋冪敤棰勭疆鐐规垚鍔�"); } @@ -903,7 +895,7 @@ String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); @@ -915,7 +907,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鑾峰彇ptz澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇ptz澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇ptz澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } m_ptzPosCurrent.read(); // DecimalFormat df = new DecimalFormat("0.0");//璁剧疆淇濈暀浣嶆暟 @@ -953,7 +945,7 @@ String cameraId = cmd.getCameraId(); Integer chanNo = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } IntByReference pchannel = new IntByReference(chanNo); Pointer pChannelNum = pchannel.getPointer(); @@ -970,8 +962,8 @@ boolean res = hCNetSDK.NET_DVR_GetSTDConfig(lUserID, HCNetSDK.NET_DVR_GET_PTZABSOLUTEEX, lpConfigParam6696); if (!res) { int code = hCNetSDK.NET_DVR_GetLastError(); - log.error("鑾峰彇楂樼簿搴TZ缁濆浣嶇疆閰嶇疆澶辫触: errorCde" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇楂樼簿搴TZ缁濆浣嶇疆閰嶇疆澶辫触: errorCde" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + log.error("鑾峰彇楂樼簿搴TZ澶辫触: errorCode" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇楂樼簿搴TZ澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } lpPTZAbsoluteEX_cfg.read(); //log.debug("P锛�" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fPan + " T锛�" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fTilt + " Z锛�" + lpPTZAbsoluteEX_cfg.struPTZCtrl.fZoom @@ -1006,7 +998,7 @@ Integer channelNum = cmd.getChanNo(); Map<String, Double> ptz = cmd.getPtzMap(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS(); @@ -1022,9 +1014,9 @@ m_ptzPosCurrent.write(); boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size()); if (!bool) { - int errorCode = hCNetSDK.NET_DVR_GetLastError(); - log.error("璁剧疆PTZ鍙傛暟澶辫触:" + errorCode); - return AjaxResult.error("璁剧疆PTZ鍙傛暟澶辫触: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode)); + int code = hCNetSDK.NET_DVR_GetLastError(); + log.error("璁剧疆PTZ鍙傛暟澶辫触: errorCode" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("璁剧疆PTZ鍙傛暟澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } return AjaxResult.success("璁剧疆PTZ鍙傛暟鎴愬姛"); } catch (Exception ex) { @@ -1049,7 +1041,7 @@ Integer chanNo = cmd.getChanNo(); Map<String, Double> ptz = cmd.getPtzMap(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer lUserID = (Integer) GlobalVariable.loginMap.get(cameraId); IntByReference pchannel = new IntByReference(chanNo); @@ -1081,9 +1073,9 @@ lpConfigParam6697.write(); boolean bool = hCNetSDK.NET_DVR_SetSTDConfig(lUserID, NET_DVR_SET_PTZABSOLUTEEX, lpConfigParam6697); if (!bool) { - int errorCode = hCNetSDK.NET_DVR_GetLastError(); - log.error("璁剧疆楂樼簿搴TZ鍙傛暟澶辫触:" + errorCode); - return AjaxResult.error("璁剧疆楂樼簿搴TZ鍙傛暟澶辫触: errorCode:" + errorCode + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(errorCode)); + int code = hCNetSDK.NET_DVR_GetLastError(); + log.error("璁剧疆楂樼簿搴TZ澶辫触:" + code); + return AjaxResult.warn("璁剧疆楂樼簿搴TZ澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } return AjaxResult.success("璁剧疆楂樼簿搴TZ鍙傛暟鎴愬姛"); @@ -1099,7 +1091,7 @@ String cameraId = cmd.getCameraId(); Integer chanNo = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS(); @@ -1121,7 +1113,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璁剧疆ptz澶辫触,璇风◢鍚庨噸璇�" + code); - return AjaxResult.error("璁剧疆ptz澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("璁剧疆ptz澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } return AjaxResult.success("寮曞鍧愭爣鎴愬姛"); } catch (Exception ex) { @@ -1143,7 +1135,7 @@ String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_PTZ_LOCKCFG netDvrPtzLockcfg = new NET_DVR_PTZ_LOCKCFG(); @@ -1153,8 +1145,8 @@ boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZLOCKCFG, channelNum, point, netDvrPtzLockcfg.size(), ibrBytesReturned); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); - log.error("鑾峰彇ptz閿佸畾淇℃伅澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇ptz閿佸畾淇℃伅澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + log.error("鑾峰彇ptz閿佸畾澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇ptz閿佸畾澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } else { netDvrPtzLockcfg.read(); int byWorkMode = netDvrPtzLockcfg.byWorkMode; @@ -1191,7 +1183,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璁剧疆闆舵柟浣嶈澶辫触:" + code); - return AjaxResult.error("璁剧疆闆舵柟浣嶈澶辫触: errorCode:" + code + "errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("璁剧疆闆舵柟浣嶈澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } return AjaxResult.success(); } @@ -1220,7 +1212,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鑾峰彇ptz鑼冨洿澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇ptz鑼冨洿澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇ptz鑼冨洿澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } else { m_ptzPosCurrent.read(); DecimalFormat df = new DecimalFormat("0.0");//璁剧疆淇濈暀浣嶆暟 @@ -1253,20 +1245,20 @@ @Override public AjaxResult controlDefogcfg(CameraCmd cmd) { String cameraId = cmd.getCameraId(); + Integer chanNo = cmd.getChanNo(); boolean enable = cmd.isEnable(); - Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_CAMERAPARAMCFG_EX struCameraParam = new NET_DVR_CAMERAPARAMCFG_EX(); Pointer point = struCameraParam.getPointer(); IntByReference ibrBytesReturned = new IntByReference(0); - boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_CCDPARAMCFG_EX, channelNum, point, struCameraParam.size(), ibrBytesReturned); + boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_CCDPARAMCFG_EX, chanNo, point, struCameraParam.size(), ibrBytesReturned); if (!b_GetCameraParam) { int code = hCNetSDK.NET_DVR_GetLastError(); - log.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + log.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇鍓嶇鍙傛暟澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } struCameraParam.read(); log.debug("鏄惁寮�鍚�忛浘锛�" + struCameraParam.struDefogCfg.byMode); @@ -1280,11 +1272,11 @@ } struCameraParam.struDefogCfg = defogcfg; struCameraParam.write(); - boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, channelNum, point, struCameraParam.size()); + boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, chanNo, point, struCameraParam.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); - log.error("鍒囨崲閫忛浘澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鍒囨崲閫忛浘澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + log.error("鍒囨崲閫忛浘澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鍒囨崲閫忛浘澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } log.debug("鍒囨崲閫忛浘鎴愬姛"); return AjaxResult.success("鍒囨崲閫忛浘鎴愬姛"); @@ -1304,7 +1296,7 @@ boolean enable = cmd.isEnable(); Integer chanNo = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_CAMERAPARAMCFG_EX struDayNigh = new NET_DVR_CAMERAPARAMCFG_EX(); @@ -1314,7 +1306,7 @@ if (!b_GetCameraParam) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇鍓嶇鍙傛暟澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } struDayNigh.read(); String current = struDayNigh.struDayNight.byDayNightFilterType == 1 ? "寮�鍚�" : "鍏抽棴"; @@ -1334,7 +1326,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鍒囨崲绾㈠澶辫触 ErrorCode:{},ErrorInfo:{}", code, SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鍒囨崲绾㈠澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鍒囨崲绾㈠澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } log.debug("鍒囨崲绾㈠鎴愬姛"); return AjaxResult.success("鍒囨崲绾㈠鎴愬姛"); @@ -1354,7 +1346,7 @@ boolean enable = cmd.isEnable(); Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_FOCUSMODE_CFG struFocusMode = new NET_DVR_FOCUSMODE_CFG(); @@ -1364,7 +1356,7 @@ if (!b_GetCameraParam) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇鍓嶇鍙傛暟澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } struFocusMode.read(); log.debug("褰撳墠鑱氱劍妯″紡锛�" + struFocusMode.byFocusMode); @@ -1382,7 +1374,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璁剧疆鑱氱劍妯″紡澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("璁剧疆鑱氱劍妯″紡澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("璁剧疆鑱氱劍妯″紡澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } log.debug("璁剧疆鑱氱劍妯″紡鎴愬姛"); return AjaxResult.success("璁剧疆鑱氱劍妯″紡鎴愬姛"); @@ -1400,7 +1392,7 @@ String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_FOCUSMODE_CFG struFocusMode = new NET_DVR_FOCUSMODE_CFG(); @@ -1409,8 +1401,8 @@ boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, struFocusMode.size(), ibrBytesReturned); if (!b_GetCameraParam) { int code = hCNetSDK.NET_DVR_GetLastError(); - log.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + log.error("鑾峰彇鑱氱劍妯″紡澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇鑱氱劍妯″紡澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } struFocusMode.read(); log.debug("褰撳墠鑱氱劍妯″紡锛�" + struFocusMode.byFocusMode); @@ -1431,7 +1423,7 @@ boolean enable = cmd.isEnable(); Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); int dwStop; @@ -1444,7 +1436,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璁剧疆浜戝彴鍔犵儹澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("璁剧疆浜戝彴鍔犵儹澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("璁剧疆浜戝彴鍔犵儹澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } log.debug("璁剧疆浜戝彴鍔犵儹鎴愬姛"); return AjaxResult.success("璁剧疆浜戝彴鍔犵儹鎴愬姛"); @@ -1464,7 +1456,7 @@ boolean enable = cmd.isEnable(); Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_DEVSERVER_CFG struDeicing = new NET_DVR_DEVSERVER_CFG(); @@ -1474,7 +1466,7 @@ if (!b_GetCameraParam) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇鍓嶇鍙傛暟澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇鍓嶇鍙傛暟澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } struDeicing.read(); log.debug("鏄惁寮�鍚櫎鍐帮細" + struDeicing.byEnableDeicing); @@ -1489,7 +1481,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璁剧疆闀滃ご闄ゅ啺澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("璁剧疆闀滃ご闄ゅ啺澶辫触: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("璁剧疆闀滃ご闄ゅ啺澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } log.debug("璁剧疆闀滃ご闄ゅ啺鎴愬姛"); return AjaxResult.success("璁剧疆闀滃ご闄ゅ啺鎴愬姛"); @@ -1506,14 +1498,14 @@ String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); NET_DVR_WORKSTATE_V30 devwork = new NET_DVR_WORKSTATE_V30(); if (!hCNetSDK.NET_DVR_GetDVRWorkState_V30(userId, devwork)) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鑾峰彇璁惧宸ヤ綔鐘舵�佸け璐�: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇璁惧宸ヤ綔鐘舵�佸け璐�: errorCode" + code + " errorInfo" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇璁惧宸ヤ綔鐘舵�佸け璐�:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } //鍥剧墖璐ㄩ噺 NET_DVR_JPEGPARA jpeg = new NET_DVR_JPEGPARA(); @@ -1527,7 +1519,7 @@ // 鎶撳浘鍒板唴瀛橈紝鍗曞抚鏁版嵁鎹曡幏骞朵繚瀛樻垚JPEG瀛樻斁鍦ㄦ寚瀹氱殑鍐呭瓨绌洪棿涓� boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a); //log.debug("-----------杩欓噷寮�濮嬪浘鐗囧瓨鍏ュ唴瀛�----------" + is); - // OutputStream outputStream = response.getOutputStream(); + // OutputStream outputStream = response.getOutputStream(); //outputStream.write(jpegBuffer.array()); //Base64.Encoder decoder = Base64.getEncoder(); // BASE64Encoder encoder = new BASE64Encoder(); @@ -1614,8 +1606,10 @@ public String record(CameraCmd cmd) { try { String cameraId = cmd.getCameraId(); - Integer channelNum = cmd.getChanNo(); - String path = FileUtils.createFile("D:/recordTemp/" + cameraId + ".mp4"); + Integer chanNo = cmd.getChanNo(); + // 鏈湴涓存椂褰曞儚鍦板潃 + String tempPath = ARDConfig.getProfile() + Constants.LOCAL_RECORD_TEMP_PREFIX; + String path = FileUtils.createFile(tempPath + "/" + cameraId + ".mp4"); boolean enable = cmd.isEnable(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { return ""; @@ -1624,7 +1618,7 @@ //寮哄埗I甯х粨鏋勪綋瀵硅薄 HCNetSDK.NET_DVR_I_FRAME netDvrIFrame = new HCNetSDK.NET_DVR_I_FRAME(); //鏂板缓缁撴瀯浣撳璞� netDvrIFrame.read(); - netDvrIFrame.dwChannel = channelNum;//鍥犱负涓婃枃浠g爜涓缃簡閫氶亾鍙凤紝鎸夌収涓婃枃涓殑璁剧疆 + netDvrIFrame.dwChannel = chanNo;//鍥犱负涓婃枃浠g爜涓缃簡閫氶亾鍙凤紝鎸夌収涓婃枃涓殑璁剧疆 netDvrIFrame.byStreamType = 0; netDvrIFrame.dwSize = netDvrIFrame.size(); netDvrIFrame.write(); @@ -1634,7 +1628,7 @@ //棰勮鍙傛暟 NET_DVR_PREVIEWINFO previewinfo = new NET_DVR_PREVIEWINFO(); previewinfo.read(); - previewinfo.lChannel = channelNum; + previewinfo.lChannel = chanNo; previewinfo.dwStreamType = 0;//鐮佹祦绫诲瀷锛�0-涓荤爜娴侊紝1-瀛愮爜娴侊紝2-涓夌爜娴侊紝3-铏氭嫙鐮佹祦锛屼互姝ょ被鎺� previewinfo.dwLinkMode = 0;//杩炴帴鏂瑰紡锛�0-TCP鏂瑰紡锛�1-UDP鏂瑰紡锛�2-澶氭挱鏂瑰紡锛�3-RTP鏂瑰紡锛�4-RTP/RTSP锛�5-RTP/HTTP锛�6-HRUDP锛堝彲闈犱紶杈擄級锛�7-RTSP/HTTPS锛�8-NPQ previewinfo.hPlayWnd = null;//鎾斁绐楀彛鐨勫彞鏌勶紝涓篘ULL琛ㄧず涓嶈В鐮佹樉绀恒�� @@ -1657,6 +1651,7 @@ return ""; } log.debug("褰曞儚寮�濮�"); + } else { if (GlobalVariable.previewMap.containsKey(cameraId)) { Integer lRealHandle = GlobalVariable.previewMap.get(cameraId); @@ -1686,7 +1681,9 @@ try { String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); - String path = FileUtils.createFile("D:/recordTemp/" + cameraId + ".mp4"); + // 鏈湴涓存椂褰曞儚鍦板潃 + String tempPath = ARDConfig.getProfile() + Constants.LOCAL_RECORD_TEMP_PREFIX; + String path = FileUtils.createFile(tempPath + "/" + cameraId + ".mp4"); if (!GlobalVariable.loginMap.containsKey(cameraId)) { return false; } @@ -1699,7 +1696,8 @@ netDvrIFrame.dwSize = netDvrIFrame.size(); netDvrIFrame.write(); if (!hCNetSDK.NET_DVR_RemoteControl(userId, 3402, netDvrIFrame.getPointer(), netDvrIFrame.dwSize)) { - log.error("寮哄埗I甯� 閿欒鐮佷负: " + hCNetSDK.NET_DVR_GetLastError()); + int code = hCNetSDK.NET_DVR_GetLastError(); + log.error("璁剧疆寮哄埗I甯ч敊璇�:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } //棰勮鍙傛暟 NET_DVR_PREVIEWINFO previewinfo = new NET_DVR_PREVIEWINFO(); @@ -1743,7 +1741,9 @@ try { String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); - String path = FileUtils.createFile("D:/recordTemp/" + cameraId + ".mp4"); + // 鏈湴涓存椂褰曞儚鍦板潃 + String tempPath = ARDConfig.getProfile() + Constants.LOCAL_RECORD_TEMP_PREFIX; + String path = FileUtils.createFile(tempPath + "/" + cameraId + ".mp4"); if (!GlobalVariable.loginMap.containsKey(cameraId)) { return ""; } @@ -1837,15 +1837,12 @@ } //鑾峰彇IP閫氶亾 - public List<ArdChannel> getIPChannelInfo(ArdCameras camera) { - + public List<ArdChannel> getChannels(ArdCameras camera) { //鑾峰彇閫氶亾 List<ArdChannel> channelList = new ArrayList<>(); try { - if (camera.getGdtype().equals("3")) { - camera.setChanNum(64);//瓒呰剳鑾峰彇鍦ㄧ嚎閫氶亾鏁� - camera.setStartDChan(0);//瓒呰剳鍒濆閫氶亾涓�0 - } + //鍒犻櫎绠$悊閫氶亾 + ardChannelService.deleteArdChannelByDeviceId(camera.getId()); IntByReference ibrBytesReturned = new IntByReference(0);//鑾峰彇IP鎺ュ叆閰嶇疆鍙傛暟 HCNetSDK.NET_DVR_IPPARACFG_V40 m_strIpparaCfg = new HCNetSDK.NET_DVR_IPPARACFG_V40(); m_strIpparaCfg.write(); @@ -1855,13 +1852,13 @@ m_strIpparaCfg.read(); //log.debug("璧峰鏁板瓧閫氶亾鍙凤細" + m_strIpparaCfg.dwStartDChan);//m_strIpparaCfg.dwDChanNum for (int iChannum = 0; iChannum < camera.getChanNum(); iChannum++) { - ArdChannel ardChannel = new ArdChannel(); - int channum = iChannum + camera.getStartDChan() + 1; + ArdChannel channel = new ArdChannel(); + int chanNo = iChannum + camera.getStartDChan(); HCNetSDK.NET_DVR_PICCFG_V40 strPicCfg = new HCNetSDK.NET_DVR_PICCFG_V40(); strPicCfg.dwSize = strPicCfg.size(); strPicCfg.write(); Pointer pStrPicCfg = strPicCfg.getPointer(); - NativeLong lChannel = new NativeLong(channum); + NativeLong lChannel = new NativeLong(chanNo); IntByReference pInt = new IntByReference(0); boolean b_GetPicCfg = hCNetSDK.NET_DVR_GetDVRConfig(camera.getLoginId(), HCNetSDK.NET_DVR_GET_PICCFG_V40, lChannel.intValue(), pStrPicCfg, strPicCfg.size(), pInt); @@ -1873,21 +1870,21 @@ if (m_strIpparaCfg.struStreamMode[iChannum].byGetStreamType == 0) { m_strIpparaCfg.struStreamMode[iChannum].uGetStream.setType(HCNetSDK.NET_DVR_IPCHANINFO.class); m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.read(); - int channel = m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byIPID + m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byIPIDHigh * 256; + int channelNo = m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byIPID + m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byIPIDHigh * 256; String channelName = new String(strPicCfg.sChanName, "GBK").trim(); - ardChannel.setDeviceId(camera.getId()); - ardChannel.setName(channelName); - ardChannel.setChanNo(channum); - if (camera.getGdtype().equals("3")) { - //瓒呰剳鍙幏鍙栧湪绾块�氶亾 - if (m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byEnable == 1) { - //log.debug("IP閫氶亾" + channum + "鍦ㄧ嚎"); - channelList.add(ardChannel); + channelName = channelName.equals("") ? "閫氶亾" + chanNo : channelName; + channel.setDeviceId(camera.getId()); + channel.setName(channelName); + channel.setChanNo(chanNo); + if (camera.getGdtype().equals("3") || camera.getGdtype().equals("2")) { + //NVR杩囨护绂荤嚎閫氶亾 + if (m_strIpparaCfg.struStreamMode[iChannum].uGetStream.struChanInfo.byEnable != 1) { + continue; } - } else { - channelList.add(ardChannel); } + channelList.add(channel); } + ardChannelService.insertArdChannel(channel); } } catch (Exception ex) { log.error("鑾峰彇IP閫氶亾寮傚父:" + ex.getMessage()); @@ -1908,7 +1905,7 @@ String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } // 鑾峰彇鍙傛暟 Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); @@ -1925,7 +1922,7 @@ if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鑾峰彇GIS淇℃伅鏁版嵁澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); - return AjaxResult.error("鑾峰彇GIS淇℃伅鏁版嵁澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鑾峰彇GIS淇℃伅鏁版嵁澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } struGisInfo.read(); Map<String, Object> map = new HashMap<>(); @@ -1942,11 +1939,14 @@ @Override public AjaxResult localRecordStart(CameraCmd cmd) { try { + String operator = cmd.getOperator(); String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); - String path = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4"); + // 鏈湴涓存椂褰曞儚鍦板潃 + String tempPath = ARDConfig.getProfile() + Constants.LOCAL_RECORD_TEMP_PREFIX; + String path = FileUtils.createFile(tempPath + "/" + operator + "/" + cameraId + ".mp4"); if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); //寮哄埗I甯х粨鏋勪綋瀵硅薄 @@ -1969,28 +1969,28 @@ previewinfo.bBlocked = 0;//0- 闈為樆濉炲彇娴侊紝1-闃诲鍙栨祦 previewinfo.byNPQMode = 0;//NPQ妯″紡锛�0-鐩磋繛妯″紡锛�1-杩囨祦濯掍綋妯″紡 previewinfo.write(); - if (GlobalVariable.previewMap.containsKey(cameraId)) { - Integer lRealHandle = GlobalVariable.previewMap.get(cameraId); - hCNetSDK.NET_DVR_StopRealPlay(lRealHandle); - GlobalVariable.previewMap.remove(cameraId); - log.debug("鍋滄褰撳墠褰曞儚"); - } + //if (GlobalVariable.previewMap.containsKey(cameraId)) { + // Integer lRealHandle = GlobalVariable.previewMap.get(cameraId); + // hCNetSDK.NET_DVR_StopRealPlay(lRealHandle); + // GlobalVariable.previewMap.remove(cameraId); + // log.debug("鍋滄褰撳墠褰曞儚"); + //} int lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null); if (lRealHandle == -1) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("鏈湴褰曞儚鍙栨祦澶辫触" + hCNetSDK.NET_DVR_GetLastError()); - return AjaxResult.error("鏈湴褰曞儚鍙栨祦澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鏈湴褰曞儚鍙栨祦澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } log.debug("鏈湴褰曞儚鍙栨祦鎴愬姛"); - GlobalVariable.threadMap.put(cameraId, Thread.currentThread().getName()); - GlobalVariable.previewMap.put(cameraId, lRealHandle); - if (!hCNetSDK.NET_DVR_SaveRealData_V30(GlobalVariable.previewMap.get(cameraId), 2, path)) { + //GlobalVariable.threadMap.put(cameraId, Thread.currentThread().getName()); + //GlobalVariable.previewMap.put(cameraId, lRealHandle); + if (!hCNetSDK.NET_DVR_SaveRealData_V30(lRealHandle, 2, path)) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("淇濆瓨瑙嗛鏂囦欢鍒颁复鏃舵枃浠跺す澶辫触 閿欒鐮佷负: " + hCNetSDK.NET_DVR_GetLastError()); - return AjaxResult.error("鏈湴褰曞儚鍙栨祦澶辫触: errorCode:" + code + " errorInfo:" + SdkErrorCodeEnum.getDescByCode(code)); + return AjaxResult.warn("鏈湴褰曞儚鍙栨祦澶辫触:" + SdkErrorCodeEnum.getDescByCode(code) + "(" + code + ")"); } log.debug("鏈湴褰曞儚寮�濮�"); - return AjaxResult.success("褰曞儚寮�濮�,褰曞儚ID:" + lRealHandle); + return AjaxResult.success("褰曞儚寮�濮�", lRealHandle); } catch (Exception ex) { log.error("鏈湴褰曞儚寮�濮嬪紓甯�" + ex.getMessage()); return AjaxResult.error("鏈湴褰曞儚寮�濮嬪紓甯�" + ex.getMessage()); @@ -2001,11 +2001,13 @@ @Override public AjaxResult localRecordStop(CameraCmd cmd) { try { + String operator = cmd.getOperator(); String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); - String recordPath = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4"); + Integer lRealHandle = cmd.getRecordId().intValue(); + if (!GlobalVariable.loginMap.containsKey(cameraId)) { - return AjaxResult.error("璁惧鏈櫥褰�"); + return AjaxResult.warn("璁惧鏈櫥褰�"); } Integer userId = (Integer) GlobalVariable.loginMap.get(cameraId); //region 寮哄埗I甯� @@ -2030,19 +2032,16 @@ previewinfo.byNPQMode = 0;//NPQ妯″紡锛�0-鐩磋繛妯″紡锛�1-杩囨祦濯掍綋妯″紡 previewinfo.write(); //endregion - if (GlobalVariable.previewMap.containsKey(cameraId)) { - Integer lRealHandle = GlobalVariable.previewMap.get(cameraId); - hCNetSDK.NET_DVR_StopRealPlay(lRealHandle); - GlobalVariable.previewMap.remove(cameraId); - } + hCNetSDK.NET_DVR_StopRealPlay(lRealHandle); log.debug("鏈湴褰曞儚鍋滄"); + // 鏈湴涓存椂褰曞儚鍦板潃 + String tempPath = ARDConfig.getProfile() + Constants.LOCAL_RECORD_TEMP_PREFIX; + String recordPath = FileUtils.createFile(tempPath + "/" + operator + "/" + cameraId + ".mp4"); byte[] recordBytes = Files.readAllBytes(Paths.get(recordPath)); - //OutputStream outputStream = response.getOutputStream(); - //outputStream.write(imageBytes); return AjaxResult.success(recordBytes); } catch (Exception ex) { log.error("鏈湴褰曞儚鍋滄寮傚父" + ex.getMessage()); - return AjaxResult.error("鏈湴褰曞儚鍋滄寮傚父" +ex.getMessage()); + return AjaxResult.error("鏈湴褰曞儚鍋滄寮傚父" + ex.getMessage()); } } } -- Gitblit v1.9.3