From 444c6f9820a29b374a6a0a8948614a45786a2ca5 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期五, 02 六月 2023 09:11:57 +0800
Subject: [PATCH] 优化巡检
---
ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java | 160 ++++++++++++++++++++++++++++-------------------------
1 files changed, 85 insertions(+), 75 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
index a714686..aaf30b3 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -8,8 +8,9 @@
import com.ruoyi.constant.sdkPriority;
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
-import com.ruoyi.device.hiksdk.common.global.globalVariable;
+import com.ruoyi.device.hiksdk.common.GlobalVariable;
import com.ruoyi.device.camera.domain.ArdCameras;
+import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
import com.ruoyi.device.hiksdk.domain.recordInfo;
import com.ruoyi.device.hiksdk.util.hikSdkUtil.GisUtil;
import com.ruoyi.device.hiksdk.util.hikSdkUtil.HCNetSDK;
@@ -53,7 +54,6 @@
SysUserMapper sysUserMapper;
private static HCNetSDK hCNetSDK;
- private static Map<Integer, recordInfo> user_real_Map = new HashMap<>();
@Override
public void loadHCNetSDKLib() {
@@ -132,10 +132,10 @@
hCNetSDK.NET_DVR_Cleanup();
camera.setLoginId(-1);
}
- if (globalVariable.loginMap.containsKey(camera.getId())) {
- globalVariable.loginMap.remove(camera.getId());
+ if (GlobalVariable.loginMap.containsKey(camera.getId())) {
+ GlobalVariable.loginMap.remove(camera.getId());
}
- globalVariable.loginMap.put(camera.getId(), lUserID);
+ GlobalVariable.loginMap.put(camera.getId(), lUserID);
camera.setLoginId(lUserID);
camera.setChannel((int) m_strDeviceInfo.byStartChan);
@@ -193,13 +193,13 @@
*/
@Override
public boolean loginOut(String cameraId) {
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
boolean b = hCNetSDK.NET_DVR_Logout(userId);
if (b) {
- globalVariable.loginMap.remove(cameraId);
+ GlobalVariable.loginMap.remove(cameraId);
}
return b;
}
@@ -212,10 +212,10 @@
@Override
public boolean isOnLine(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
boolean isOnLine = hCNetSDK.NET_DVR_RemoteControl(userId, HCNetSDK.NET_DVR_CHECK_USER_STATUS, null, 0);
return isOnLine;
}
@@ -238,10 +238,10 @@
Integer channelNum = cmd.getChannelNum();
Integer speed = cmd.getSpeed();
Integer code = cmd.getCode();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
Integer dwStop;
if (enable) {
dwStop = 0;//寮�鍚�
@@ -323,10 +323,10 @@
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
Integer dwFocusPos = cmd.getDwFocusPos();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_FOCUSMODE_CFG focusmodeCfg = new NET_DVR_FOCUSMODE_CFG();
Pointer point = focusmodeCfg.getPointer();
@@ -350,10 +350,10 @@
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return new HashMap<>();
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_FOCUSMODE_CFG focusmodeCfg = new NET_DVR_FOCUSMODE_CFG();
Pointer point = focusmodeCfg.getPointer();
@@ -384,10 +384,10 @@
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
Integer PresetIndex = cmd.getPresetIndex();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, SET_PRESET, PresetIndex);
if (!bool) {
int code = hCNetSDK.NET_DVR_GetLastError();
@@ -407,10 +407,10 @@
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
Integer PresetIndex = cmd.getPresetIndex();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, GOTO_PRESET, PresetIndex);
if (!bool) {
int code = hCNetSDK.NET_DVR_GetLastError();
@@ -431,10 +431,10 @@
public String getVideoResolution(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return " ";
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
String ResResolution = "";
NET_DVR_COMPRESSIONCFG_V30 resolution = new NET_DVR_COMPRESSIONCFG_V30();
@@ -537,10 +537,10 @@
public Map<String, Object> getPtz(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return null;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS();
Pointer pioint = m_ptzPosCurrent.getPointer();
@@ -589,10 +589,10 @@
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
Map<String, Double> ptz = cmd.getPtzMap();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS();
m_ptzPosCurrent.wAction = 1;
try {
@@ -621,10 +621,10 @@
public boolean setTargetPosition(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_PTZPOS m_ptzPosCurrent = new NET_DVR_PTZPOS();
m_ptzPosCurrent.wAction = 1;
try {
@@ -735,10 +735,10 @@
public int getPTZLockInfo(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return -1;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_PTZ_LOCKCFG netDvrPtzLockcfg = new NET_DVR_PTZ_LOCKCFG();
Pointer point = netDvrPtzLockcfg.getPointer();
IntByReference ibrBytesReturned = new IntByReference(0);
@@ -768,10 +768,10 @@
public boolean setZeroPtz(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_INITIALPOSITIONCTRL initialpositionctrl = new NET_DVR_INITIALPOSITIONCTRL();
initialpositionctrl.dwSize = initialpositionctrl.size();
@@ -800,10 +800,10 @@
public Map<String, Object> getPtzScope(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return new HashMap<>();
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_PTZSCOPE m_ptzPosCurrent = new NET_DVR_PTZSCOPE();
Pointer point = m_ptzPosCurrent.getPointer();
IntByReference ibrBytesReturned = new IntByReference(0);
@@ -849,10 +849,10 @@
String cameraId = cmd.getCameraId();
boolean enable = cmd.isEnable();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_CAMERAPARAMCFG_EX struCameraParam = new NET_DVR_CAMERAPARAMCFG_EX();
Pointer point = struCameraParam.getPointer();
IntByReference ibrBytesReturned = new IntByReference(0);
@@ -896,10 +896,10 @@
String cameraId = cmd.getCameraId();
boolean enable = cmd.isEnable();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_CAMERAPARAMCFG_EX struDayNigh = new NET_DVR_CAMERAPARAMCFG_EX();
Pointer point = struDayNigh.getPointer();
IntByReference ibrBytesReturned = new IntByReference(0);
@@ -945,10 +945,10 @@
String cameraId = cmd.getCameraId();
boolean enable = cmd.isEnable();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_FOCUSMODE_CFG struFocusMode = new NET_DVR_FOCUSMODE_CFG();
Pointer point = struFocusMode.getPointer();
IntByReference ibrBytesReturned = new IntByReference(0);
@@ -992,10 +992,10 @@
String cameraId = cmd.getCameraId();
boolean enable = cmd.isEnable();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
Integer dwStop;
if (enable) {
dwStop = 0;//寮�鍚�
@@ -1026,10 +1026,10 @@
String cameraId = cmd.getCameraId();
boolean enable = cmd.isEnable();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return false;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_DEVSERVER_CFG struDeicing = new NET_DVR_DEVSERVER_CFG();
Pointer point = struDeicing.getPointer();
IntByReference ibrBytesReturned = new IntByReference(0);
@@ -1064,10 +1064,10 @@
public String captureJPEGPicture(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return "";
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
NET_DVR_WORKSTATE_V30 devwork = new NET_DVR_WORKSTATE_V30();
if (!hCNetSDK.NET_DVR_GetDVRWorkState_V30(userId, devwork)) {
// 杩斿洖Boolean鍊硷紝鍒ゆ柇鏄惁鑾峰彇璁惧鑳藉姏
@@ -1136,10 +1136,10 @@
public String picCutCate(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return "";
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
//鍥剧墖淇℃伅
NET_DVR_JPEGPARA jpeg = new NET_DVR_JPEGPARA();
//璁剧疆鍥剧墖鍒嗚鲸鐜�
@@ -1202,10 +1202,10 @@
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
boolean enable = cmd.isEnable();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return "";
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
String path = "";
//棰勮鍙傛暟
NET_DVR_PREVIEWINFO previewinfo = new NET_DVR_PREVIEWINFO();
@@ -1219,7 +1219,7 @@
previewinfo.write();
int lRealHandle;
if (enable) {
- if (!user_real_Map.containsKey(userId)) {
+ if (!GlobalVariable.user_real_Map.containsKey(userId)) {
lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null);
if (lRealHandle == -1) {
int iErr = hCNetSDK.NET_DVR_GetLastError();
@@ -1248,9 +1248,9 @@
recordInfo info = new recordInfo();
info.setLRealHandle(lRealHandle);
info.setRecordPath(path);
- user_real_Map.put(userId, info);
+ GlobalVariable.user_real_Map.put(userId, info);
}
- recordInfo info = user_real_Map.get(userId);
+ recordInfo info = GlobalVariable.user_real_Map.get(userId);
if (!hCNetSDK.NET_DVR_SaveRealData_V30(info.getLRealHandle(), 1, info.getRecordPath())) {
log.error("淇濆瓨瑙嗛鏂囦欢鍒颁复鏃舵枃浠跺す澶辫触 閿欒鐮佷负: " + hCNetSDK.NET_DVR_GetLastError());
return "淇濆瓨瑙嗛鏂囦欢鍒颁复鏃舵枃浠跺す澶辫触 閿欒鐮佷负:" + hCNetSDK.NET_DVR_GetLastError();
@@ -1259,7 +1259,7 @@
//return info.getRecordPath();
return "";
} else {
- recordInfo info = user_real_Map.get(userId);
+ recordInfo info = GlobalVariable.user_real_Map.get(userId);
if (StringUtils.isNull(info)) {
return "";
}
@@ -1287,23 +1287,33 @@
} catch (IOException ex) {
log.error("涓婁紶鏂囦欢寮傚父锛�" + ex.getMessage());
}
- user_real_Map.remove(userId);
+ GlobalVariable.user_real_Map.remove(userId);
return url;
}
}
@Override
- @SdkOperate
public void recordToMinio(CameraCmd cmd) {
try {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChannelNum();
boolean enable = cmd.isEnable();
- if (!globalVariable.loginMap.containsKey(cameraId)) {
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
return;
}
- Integer userId = globalVariable.loginMap.get(cameraId);
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
String path = "";
+ //寮哄埗I甯х粨鏋勪綋瀵硅薄
+ HCNetSDK.NET_DVR_I_FRAME netDvrIFrame = new HCNetSDK.NET_DVR_I_FRAME(); //鏂板缓缁撴瀯浣撳璞�
+ netDvrIFrame.read();
+ netDvrIFrame.dwChannel = channelNum; //鍥犱负涓婃枃浠g爜涓缃簡閫氶亾鍙凤紝鎸夌収涓婃枃涓殑璁剧疆
+ netDvrIFrame.byStreamType = 0;
+ netDvrIFrame.dwSize = netDvrIFrame.size();
+ netDvrIFrame.write();
+
+ if(!hCNetSDK.NET_DVR_RemoteControl(userId,3402,netDvrIFrame.getPointer(),netDvrIFrame.dwSize)){
+ log.error("寮哄埗I甯� 閿欒鐮佷负: " + hCNetSDK.NET_DVR_GetLastError());
+ }
//棰勮鍙傛暟
NET_DVR_PREVIEWINFO previewinfo = new NET_DVR_PREVIEWINFO();
previewinfo.read();
@@ -1316,11 +1326,10 @@
previewinfo.write();
int lRealHandle;
if (enable) {
- if (!user_real_Map.containsKey(userId)) {
+ if (!GlobalVariable.user_real_Map.containsKey(userId)) {
lRealHandle = hCNetSDK.NET_DVR_RealPlay_V40(userId, previewinfo, null, null);
if (lRealHandle == -1) {
- int iErr = hCNetSDK.NET_DVR_GetLastError();
- log.error("鍙栨祦澶辫触" + iErr);
+ log.error("鍙栨祦澶辫触" + hCNetSDK.NET_DVR_GetLastError());
return;
}
log.info("鍙栨祦鎴愬姛");
@@ -1336,31 +1345,32 @@
recordInfo info = new recordInfo();
info.setLRealHandle(lRealHandle);
info.setRecordPath(path);
- user_real_Map.put(userId, info);
+ GlobalVariable.user_real_Map.put(userId, info);
}
- recordInfo info = user_real_Map.get(userId);
- if (!hCNetSDK.NET_DVR_SaveRealData_V30(info.getLRealHandle(), 1, info.getRecordPath())) {
+ recordInfo info = GlobalVariable.user_real_Map.get(userId);
+ if (!hCNetSDK.NET_DVR_SaveRealData_V30(info.getLRealHandle(), 2, info.getRecordPath())) {
log.error("淇濆瓨瑙嗛鏂囦欢鍒颁复鏃舵枃浠跺す澶辫触 閿欒鐮佷负: " + hCNetSDK.NET_DVR_GetLastError());
return;
}
log.info("褰曞儚寮�濮�");
} else {
- recordInfo info = user_real_Map.get(userId);
+ recordInfo info = GlobalVariable.user_real_Map.get(userId);
if (StringUtils.isNull(info)) {
return;
}
hCNetSDK.NET_DVR_StopRealPlay(info.getLRealHandle());
log.info("褰曞儚鍋滄");
- //瀛樺叆minio
- String BucketName = cmd.getRecordBucketName();
- String ObjectName = cmd.getRecordObjectName();
- String ContentType = "video/MP4";
- FileInputStream stream = new FileInputStream(info.getRecordPath());
- String url = "";
- boolean b = MinioUtils.uploadObject(BucketName, ObjectName, stream, stream.available(), ContentType);
- if (b) {
- log.info("涓婁紶鏂囦欢鎴愬姛!" + BucketName + "/" + ObjectName);
- user_real_Map.remove(userId);
+ if(cmd.isUploadMinio()) {
+ //瀛樺叆minio
+ String BucketName = cmd.getRecordBucketName();
+ String ObjectName = cmd.getRecordObjectName();
+ String ContentType = "video/MP4";
+ FileInputStream stream = new FileInputStream(info.getRecordPath());
+ boolean b = MinioUtils.uploadObject(BucketName, ObjectName, stream, stream.available(), ContentType);
+ if (b) {
+ log.info("涓婁紶鏂囦欢鎴愬姛!" + MinioClientSingleton.domainUrl + "/" + BucketName + "/" + ObjectName);
+ GlobalVariable.user_real_Map.remove(userId);
+ }
}
}
} catch (Exception ex) {
--
Gitblit v1.9.3