From 38f29e38fcc668171dc05c53d40a36b895c86102 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期四, 10 十月 2024 13:34:28 +0800
Subject: [PATCH] init
---
ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java | 45 +++++++++++++++++++++++++++------------------
1 files changed, 27 insertions(+), 18 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 be1a771..bb92799 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
@@ -7,45 +7,39 @@
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;
import com.ruoyi.common.utils.uuid.IdUtils;
-import com.ruoyi.device.camera.factory.CameraSDK;
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.device.camera.domain.CameraCmd;
+import com.ruoyi.device.camera.factory.CameraSDK;
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;
import com.ruoyi.media.service.IVtduService;
import com.ruoyi.utils.gis.GisUtil;
import com.ruoyi.utils.minio.MinioUtil;
import com.ruoyi.utils.sdk.common.GlobalVariable;
-import com.ruoyi.utils.sdk.common.SdkErrorCodeEnum;
import com.ruoyi.utils.sdk.dhsdk.common.ErrorCode;
import com.ruoyi.utils.sdk.dhsdk.lib.NetSDKLib;
-import com.ruoyi.utils.sdk.dhsdk.lib.ToolKits;
import com.ruoyi.utils.sdk.dhsdk.lib.enumeration.EM_NEW_CONFIG;
import com.ruoyi.utils.sdk.dhsdk.lib.enumeration.NET_EM_CFG_OPERATE_TYPE;
import com.ruoyi.utils.sdk.dhsdk.lib.structure.CFG_INFRARED_INFO;
import com.ruoyi.utils.sdk.dhsdk.lib.structure.CFG_VIDEO_IN_FOCUS;
import com.ruoyi.utils.sdk.dhsdk.lib.structure.DH_OUT_PTZ_VIEW_RANGE_STATUS;
import com.ruoyi.utils.sdk.dhsdk.module.*;
-import com.sun.jna.Native;
import com.sun.jna.Pointer;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.ApplicationEventPublisher;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
+import javax.annotation.PostConstruct;
import javax.annotation.Resource;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
import java.io.*;
-import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.text.DecimalFormat;
@@ -53,7 +47,6 @@
import java.util.concurrent.PriorityBlockingQueue;
import static com.ruoyi.utils.sdk.dhsdk.lib.NetSDKLib.*;
-import static com.ruoyi.utils.sdk.dhsdk.lib.NetSDKLib.NET_DEVSTATE_PTZ_VIEW_RANGE;
import static com.ruoyi.utils.sdk.dhsdk.lib.NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_MOVE_CONTROL;
import static com.ruoyi.utils.sdk.dhsdk.lib.NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_SET_CONTROL;
import static com.ruoyi.utils.sdk.dhsdk.lib.ToolKits.getErrorCodePrint;
@@ -88,6 +81,11 @@
// 缃戠粶杩炴帴鎭㈠
private static HaveReConnect haveReConnect = new HaveReConnect();
+ @PostConstruct
+ public void initSdk() {
+ log.info("鍒濆鍖栧ぇ鍗巗dk");
+ LoginModule.init(disConnect, haveReConnect);
+ }
/**
* 鐧诲綍
@@ -99,7 +97,6 @@
@Override
public AjaxResult login(ArdCameras camera) {
try {
- LoginModule.init(disConnect, haveReConnect);
NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex();
NetSDKLib.LLong loginId = LoginModule.login(camera.getIp(), camera.getPort(), camera.getUsername(), camera.getPassword(), m_stDeviceInfo);
if (loginId.longValue() <= 0) {
@@ -109,7 +106,7 @@
ardCamerasService.updateArdCameras(camera);
//鍒犻櫎绠$悊閫氶亾
ardChannelService.deleteArdChannelByDeviceId(camera.getId());
- log.error("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触:" + getErrorCodePrint());
+ log.warn("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触:" + getErrorCodePrint());
return AjaxResult.warn(ErrorCode.getErrorCode(LoginModule.netsdk.CLIENT_GetLastError()));
}
log.debug("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍鎴愬姛:" + (int) loginId.longValue());
@@ -132,6 +129,8 @@
ardCamerasService.updateArdCameras(camera);
//鍒涘缓寮曞闃熷垪
createGuideQueue(camera);
+ //鍔犲叆宸茬櫥褰曡澶囬泦鍚�
+ GlobalVariable.loginedSet.add(camera);
return AjaxResult.success("璁惧鐧诲綍鎴愬姛");
} catch (Exception ex) {
log.error("璁惧鐧诲綍寮傚父:" + ex.getMessage());
@@ -140,10 +139,9 @@
}
@Override
- @Async("loginExecutor")
+ @Async("globalExecutor")
public AjaxResult asyncLogin(ArdCameras camera) {
try {
- LoginModule.init(disConnect, haveReConnect);
NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex();
NetSDKLib.LLong loginId = LoginModule.login(camera.getIp(), camera.getPort(), camera.getUsername(), camera.getPassword(), m_stDeviceInfo);
if (loginId.longValue() <= 0) {
@@ -153,14 +151,14 @@
ardCamerasService.updateArdCameras(camera);
//鍒犻櫎绠$悊閫氶亾
ardChannelService.deleteArdChannelByDeviceId(camera.getId());
- log.error("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触:" + getErrorCodePrint());
+ log.warn("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍澶辫触:" + getErrorCodePrint());
return AjaxResult.warn(getErrorCodePrint());
}
log.debug("璁惧[" + camera.getIp() + ":" + camera.getPort() + "]鐧诲綍鎴愬姛:" + loginId);
camera.setState("1");
camera.setChanNum(m_stDeviceInfo.byChanNum);
camera.setStartChan(1);
- camera.setLoginId((Long) loginId.longValue());
+ camera.setLoginId(loginId.longValue());
ardCamerasService.updateArdCameras(camera);
GlobalVariable.loginMap.put(camera.getId(), loginId);
@@ -178,6 +176,8 @@
ardCamerasService.updateArdCameras(camera);
//鍒涘缓寮曞闃熷垪
createGuideQueue(camera);
+ //鍔犲叆宸茬櫥褰曡澶囬泦鍚�
+ GlobalVariable.loginedSet.add(camera);
return AjaxResult.success("鐧诲綍鎴愬姛");
} catch (Exception ex) {
log.error("鐧诲綍寮傚父:" + ex.getMessage());
@@ -208,7 +208,7 @@
//鑾峰彇閫氶亾
public List<ArdChannel> getChannels(ArdCameras camera) {
- if (camera.getLoginId().equals(-1)) {
+ if (camera.getLoginId() < 0) {
return new ArrayList<>();
}
LLong loginId = new LLong(camera.getLoginId());
@@ -635,6 +635,15 @@
GlobalVariable.previewMap.remove(cameraId);
}
log.debug("褰曞儚鍋滄");
+ //瀛樺叆minio
+ String BucketName = "record";
+ String ObjectName = IdUtils.fastSimpleUUID() + ".mp4";
+ FileInputStream stream = new FileInputStream(path);
+ boolean b = MinioUtil.uploadObject(BucketName, ObjectName, stream, stream.available(), "video/MP4");
+ if (b) {
+ url = MinioUtil.getBucketObjectUrl(BucketName, ObjectName);
+ log.debug("涓婁紶鏂囦欢鎴愬姛!" + url);
+ }
}
return url;
} catch (Exception ex) {
--
Gitblit v1.9.3