From dd07cafb1604f528fbb7a04a79fc89b55198e080 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期一, 08 七月 2024 16:24:15 +0800 Subject: [PATCH] 电子围栏挂接bug修改提交 --- ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java | 78 +++++++++++++++++++++----------------- 1 files changed, 43 insertions(+), 35 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java index 5f1695a..ec6c8a3 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java +++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java @@ -4,7 +4,10 @@ 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.StringUtils; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.file.MimeTypeUtils; import com.ruoyi.common.utils.spring.SpringUtils; @@ -13,6 +16,7 @@ import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.IArdCamerasService; +import com.ruoyi.device.camera.service.ICameraSdkService; import com.ruoyi.device.channel.domain.ArdChannel; import com.ruoyi.device.channel.service.IArdChannelService; import com.ruoyi.media.domain.Vtdu; @@ -71,6 +75,9 @@ private IArdChannelService ardChannelService; @Resource private IVtduService vtduService; + + @Resource + ICameraSdkService cameraSdkService; @Value("${minio.endpoint}") private String minioEndPoint; @Resource @@ -404,9 +411,9 @@ float t = (float) dh_ptz_location_info.nPTZTilt / 10 * -1; String nPTZTilt = df.format(t < 0 ? t + 360 : t); String nPTZZoom = df.format((float) dh_ptz_location_info.nPTZZoom); - ptzMap.put("p", nPTZPan); - ptzMap.put("t", nPTZTilt); - ptzMap.put("z", nPTZZoom); + ptzMap.put("p" , nPTZPan); + ptzMap.put("t" , nPTZTilt); + ptzMap.put("z" , nPTZZoom); return AjaxResult.success(ptzMap); } @@ -527,7 +534,9 @@ return AjaxResult.warn("璁惧鏈櫥褰�"); } LLong loginId = (LLong) GlobalVariable.loginMap.get(cameraId); - String imagePath = FileUtils.createFile("D:/LocalCaptureTemp/" + cameraId + ".jpeg"); + // 鏈湴涓存椂褰曞儚鍦板潃 + String tempPath = ARDConfig.getProfile() + Constants.LOCAL_RECORD_TEMP_PREFIX; + String imagePath = FileUtils.createFile(tempPath + "/" + cameraId + ".jpeg"); fCaptureReceiveCB1 m_CaptureReceiveCB = new fCaptureReceiveCB1(imagePath); CapturePictureModule.setSnapRevCallBack(m_CaptureReceiveCB); boolean b = CapturePictureModule.remoteCapturePicture(loginId, chanNo - 1); @@ -552,6 +561,7 @@ @Override public AjaxResult localRecordStart(CameraCmd cmd) { try { + String operator = cmd.getOperator(); String cameraId = cmd.getCameraId(); Integer chanNo = cmd.getChanNo(); @@ -565,7 +575,10 @@ // GlobalVariable.previewMap.remove(cameraId); // log.debug("鍋滄褰撳墠褰曞儚"); //} - 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"); LLong lRealHandle = RealPlayModule.startRealPlay(loginId, chanNo - 1, path); if (lRealHandle.longValue() <= 0) { log.error("鍙栨祦澶辫触" + getErrorCodePrint()); @@ -578,7 +591,7 @@ // return false; //} log.debug("鏈湴褰曞儚寮�濮�"); - return AjaxResult.success("鏈湴褰曞儚寮�濮�", lRealHandle); + return AjaxResult.success("鏈湴褰曞儚寮�濮�" , lRealHandle); } catch (Exception ex) { log.error("鏈湴褰曞儚寮�濮嬪紓甯�" + ex.getMessage()); return AjaxResult.error("鏈湴褰曞儚寮�濮嬪紓甯�" + ex.getMessage()); @@ -589,33 +602,19 @@ @Override public AjaxResult localRecordStop(CameraCmd cmd) { try { + String operator = cmd.getOperator(); String cameraId = cmd.getCameraId(); LLong lRealHandle = new LLong(cmd.getRecordId()); if (!GlobalVariable.loginMap.containsKey(cameraId)) { return AjaxResult.warn("璁惧鏈櫥褰�"); } - RealPlayModule.stopRealPlay(lRealHandle); log.debug("鏈湴褰曞儚鍋滄"); - String recordPath = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4"); + // 鏈湴涓存椂褰曞儚鍦板潃 + String tempPath = ARDConfig.getProfile() + Constants.LOCAL_RECORD_TEMP_PREFIX; + String recordPath = FileUtils.createFile(tempPath + "/" + operator + "/" + cameraId + ".mp4"); byte[] imageBytes = Files.readAllBytes(Paths.get(recordPath)); - // OutputStream outputStream = response.getOutputStream(); - // outputStream.write(imageBytes); return AjaxResult.success(imageBytes); - //if (GlobalVariable.previewMap.containsKey(cameraId)) { - // lRealHandle = new LLong(GlobalVariable.previewMap.get(cameraId)); - // RealPlayModule.stopRealPlay(lRealHandle); - // GlobalVariable.previewMap.remove(cameraId); - // log.debug("鏈湴褰曞儚鍋滄"); - // String recordPath = FileUtils.createFile("D:/LocalRecordTemp/" + cameraId + ".mp4"); - // byte[] imageBytes = Files.readAllBytes(Paths.get(recordPath)); - // // OutputStream outputStream = response.getOutputStream(); - // // outputStream.write(imageBytes); - // return AjaxResult.success(imageBytes); - //} - //else { - // return AjaxResult.error("璁惧鏈紑濮嬪綍鍍�"); - //} } catch (Exception ex) { log.error("鏈湴褰曞儚鍋滄寮傚父" + ex.getMessage()); return AjaxResult.error("鏈湴褰曞儚鍋滄寮傚父" + ex.getMessage()); @@ -636,7 +635,9 @@ String url = ""; String cameraId = cmd.getCameraId(); Integer chanNo = 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"); boolean enable = cmd.isEnable(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { return ""; @@ -675,7 +676,9 @@ try { String cameraId = cmd.getCameraId(); Integer chanNo = 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; } @@ -711,7 +714,9 @@ String url = ""; try { String cameraId = cmd.getCameraId(); - 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 ""; } @@ -780,15 +785,18 @@ double[] cameraPositon = new double[]{cameras.getLongitude(), cameras.getLatitude(), cameras.getAltitude()}; double[] targetPositions = cmd.getTargetPosition(); double[] cameraPTZ = GisUtil.getCameraPTZ(cameraPositon, targetPositions, 20, 150); + //淇淇话 + double correctPitch = cameraSdkService.correctPitch(cmd); + double newt = cameraPTZ[1] + correctPitch; int p = (int) (cameraPTZ[0] * 10); - int t = (int) (cameraPTZ[1] * 10); + int t = (int) (newt * 10); int z = (int) (cameraPTZ[2]); boolean bool = netsdk.CLIENT_DHPTZControlEx(loginId, chanNo - 1, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_EXACTGOTO, p, t, z, 0); if (!bool) { log.error("璁剧疆ptz澶辫触:" + getErrorCodePrint()); return AjaxResult.warn("璁剧疆ptz澶辫触:" + getErrorCodePrint()); } - return AjaxResult.success("寮曞鐩爣浣嶇疆鎴愬姛"); + return AjaxResult.success("寮曞鐩爣浣嶇疆鎴愬姛",correctPitch); } catch (Exception ex) { log.error("寮曞鐩爣浣嶇疆寮傚父:" + ex.getMessage()); return AjaxResult.error("寮曞鐩爣浣嶇疆寮傚父:" + ex.getMessage()); @@ -1102,10 +1110,10 @@ int nHeight = cfg_encode_info.stuMainStream[0].stuVideoFormat.nHeight; String resolution = nWidth + "*" + nHeight; float nFrameRate = cfg_encode_info.stuMainStream[0].stuVideoFormat.nFrameRate; - map.put("resolution", resolution);//鍒嗚鲸鐜� - map.put("videoBitrate", String.valueOf(nBitRate));//姣旂壒鐜� - map.put("videoEncType", videoEncType);//缂栫爜 - map.put("nFrameRate", String.valueOf(nFrameRate));//甯х巼 + map.put("resolution" , resolution);//鍒嗚鲸鐜� + map.put("videoBitrate" , String.valueOf(nBitRate));//姣旂壒鐜� + map.put("videoEncType" , videoEncType);//缂栫爜 + map.put("nFrameRate" , String.valueOf(nFrameRate));//甯х巼 } } catch (Exception ex) { log.error("鍙栫爜娴佸帇缂╁弬鏁板紓甯�:" + ex.getMessage()); @@ -1132,8 +1140,8 @@ float nAngelH = (float) dh_out_ptz_view_range_status.nAngelH / 10; float nAngelV = (float) dh_out_ptz_view_range_status.nAngelV / 10; Map<String, Object> map = getPtz(cmd);//鑾峰彇ptz - map.put("fHorFieldAngle", nAngelH);// 姘村钩瑙嗗満瑙� - map.put("fVerFieldAngle", nAngelV);// 鍨傜洿瑙嗗満瑙� + map.put("fHorFieldAngle" , nAngelH);// 姘村钩瑙嗗満瑙� + map.put("fVerFieldAngle" , nAngelV);// 鍨傜洿瑙嗗満瑙� return AjaxResult.success(map); } catch (Exception ex) { log.error("鑾峰彇浜戝彴鍙鍩熷紓甯�" + ex.getMessage()); -- Gitblit v1.9.3