ard-work/src/main/java/com/ruoyi/alarm/config/AsyncConfiguration.java
@@ -28,6 +28,7 @@ Integer keepAliveSeconds; @Value("${ThreadPoolTask.queueCapacity}") Integer queueCapacity; @Bean("alarmExecutor") public Executor alarmExecutor(){ ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
@@ -64,11 +64,11 @@ private IArdCamerasService ardCamerasService; //åå§ç»å½ææç¸æº @PostConstruct public void initLoginAll() { cameraSdkService.loginAll(); } // //åå§ç»å½ææç¸æº // @PostConstruct // public void initLoginAll() { // cameraSdkService.loginAll(); // } @RequestMapping("/preview") private String preview() { ard-work/src/main/java/com/ruoyi/device/camera/service/impl/AsyncLogin.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ package com.ruoyi.device.camera.service.impl; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.dhsdk.service.IDhClientService; import com.ruoyi.device.hiksdk.service.IHikClientService; import org.hibernate.validator.internal.util.stereotypes.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** * @ClassName test * @Description: * @Author åèä¹ * @Date 2023/10/23 21:39 * @Version 1.0 */ @Service public class AsyncLogin { @Resource IHikClientService hikClientService; @Resource IDhClientService dhClientService; @Async public void hikLogin(ArdCameras ardCameras) { hikClientService.login(ardCameras); } @Async public void dhLogin(ArdCameras ardCameras) { dhClientService.login(ardCameras); } } ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
@@ -3,29 +3,22 @@ import com.ruoyi.common.annotation.SdkOperate; import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.file.FileUtils; 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.dhsdk.lib.NetSDKLib; import com.ruoyi.device.dhsdk.module.RealPlayModule; import com.ruoyi.device.dhsdk.service.IDhClientService; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.hiksdk.service.IHikClientService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.SmartInitializingSingleton; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.ruoyi.device.dhsdk.lib.ToolKits.getErrorCodePrint; import static com.ruoyi.device.dhsdk.module.LoginModule.netsdk; import static com.ruoyi.device.hiksdk.sdk.HCNetSDK.NET_DVR_CHECK_USER_STATUS; /** @@ -45,12 +38,27 @@ IDhClientService dhClientService; @Resource RedisCache redisCache; @Resource AsyncLogin asyncLogin; //åå§åSDK @PostConstruct @Override public void loginAll() { hikClientService.loginAll();//ç»å½å ¨é¨æµ·åº·ç¸æº dhClientService.loginAll();//ç»å½å ¨é¨å¤§åç¸æº try { List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras()); for (ArdCameras camera : ardCameras) { if ("1".equals(camera.getFactory())) { asyncLogin.hikLogin(camera); } else if ("2".equals(camera.getFactory())) { asyncLogin.dhLogin(camera); } } } catch (Exception ex) { log.error("åå§åç»å½ç¸æºå¼å¸¸ï¼" + ex.getMessage()); } } //ç»å½ @@ -683,4 +691,6 @@ } return map; } } ard-work/src/main/java/com/ruoyi/device/dhsdk/service/IDhClientService.java
@@ -13,12 +13,8 @@ */ public interface IDhClientService { //ç»å½ Boolean login(ArdCameras ardCamera); //ç»å½ææç¸æº void loginAll(); //注é Boolean logout(String cameraId); ard-work/src/main/java/com/ruoyi/device/dhsdk/service/impl/DhClientServiceImpl.java
@@ -18,6 +18,7 @@ import com.ruoyi.device.dhsdk.module.*; import com.ruoyi.device.dhsdk.service.IDhClientService; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.camera.service.impl.AsyncLogin; import com.ruoyi.media.domain.Vtdu; import com.ruoyi.media.service.IVtduService; import com.ruoyi.utils.gis.GisUtil; @@ -25,7 +26,6 @@ import com.sun.jna.Pointer; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -59,31 +59,11 @@ @Value("${minio.endpoint}") private String minioEndPoint; // è®¾å¤æçº¿éç¥åè° private static DisConnect disConnect = new DisConnect(); // ç½ç»è¿æ¥æ¢å¤ private static HaveReConnect haveReConnect = new HaveReConnect(); /** * ç»å½ææç¸æº * åèä¹ * 2023/10/17 8:28:13 */ @Override public void loginAll() { try { ArdCameras ardCamera = new ArdCameras(); ardCamera.setFactory("2");//è·å大åç¸æº List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(ardCamera); for (ArdCameras camera : ardCameras) { Thread.sleep(500); //ç»å½ login(camera); } } catch (Exception ex) { log.error("åå§åç»å½ç¸æºå¼å¸¸ï¼" + ex.getMessage()); } } /** @@ -207,6 +187,7 @@ * 2023/10/17 8:28:13 */ @Override @SdkOperate public boolean pTZControl(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -358,7 +339,6 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ 注æä¿¯ä»°è§åº¦è´å¼éè¦å ä¸360å¾å°çæ£å¼è¿è¡è®¾ç½® */ @Override @SdkOperate public boolean setZeroPtz(CameraCmd cmd) { String cameraId = cmd.getCameraId(); Integer chanNo = cmd.getChanNo(); @@ -382,7 +362,6 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override @SdkOperate public String picCutCate(CameraCmd cmd) { String cameraId = cmd.getCameraId(); Integer chanNo = cmd.getChanNo(); ard-work/src/main/java/com/ruoyi/device/hiksdk/service/IHikClientService.java
@@ -22,9 +22,6 @@ //弿¥ç»å½ void asyncLogin(ArdCameras cameras); //ç»å½ææç¸æº void loginAll(); //注é boolean logout(String cameraId); ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -10,11 +10,10 @@ import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.device.channel.domain.ArdChannel; import com.ruoyi.device.channel.service.IArdChannelService; import com.ruoyi.device.dhsdk.lib.LibraryLoad; import com.ruoyi.device.dhsdk.lib.NetSDKLib; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.hiksdk.sdk.ExceptionCallBack; import com.ruoyi.device.camera.service.impl.AsyncLogin; import com.ruoyi.media.domain.Vtdu; import com.ruoyi.media.service.IVtduService; import com.ruoyi.utils.gis.GisUtil; @@ -22,13 +21,11 @@ import com.ruoyi.device.hiksdk.service.IHikClientService; import com.ruoyi.device.hiksdk.sdk.LoginResultCallBack; import com.ruoyi.utils.minio.MinioUtil; import com.sun.jna.Native; import com.sun.jna.NativeLong; import com.sun.jna.Platform; import com.sun.jna.Pointer; import com.sun.jna.ptr.IntByReference; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.util.Base64; @@ -40,7 +37,6 @@ import java.util.*; import java.util.concurrent.PriorityBlockingQueue; import static com.ruoyi.device.hiksdk.common.GlobalVariable.loginCameraMap; import static com.ruoyi.device.hiksdk.sdk.HCNetSDK.*; /** @@ -243,28 +239,6 @@ } /** * @æè¿° ç»å½ææç¸æº * @åæ° [] * @è¿åå¼ void * @å建人 åèä¹ * @å建æ¶é´ 2023/2/3 10:10 * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override public void loginAll() { try { ArdCameras ardCamera = new ArdCameras(); ardCamera.setFactory("1"); List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(ardCamera); for (ArdCameras camera : ardCameras) { //ç»å½ login(camera); } } catch (Exception ex) { log.error("åå§åç»å½ç¸æºå¼å¸¸ï¼" + ex.getMessage()); } } /** * @æè¿° 注éç»å½ @@ -318,6 +292,7 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override @SdkOperate public boolean pTZControlWithSpeed(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -1068,7 +1043,6 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override @SdkOperate public boolean controlDefogcfg(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -1114,7 +1088,6 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override @SdkOperate public boolean controlInfrarecfg(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -1162,7 +1135,6 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override @SdkOperate public boolean controlFocusMode(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -1235,7 +1207,6 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override @SdkOperate public boolean controlPTHeateRpwron(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -1268,7 +1239,6 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override @SdkOperate public boolean controlCameraDeicing(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -1349,7 +1319,6 @@ * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ @Override @SdkOperate public String picCutCate(CameraCmd cmd) { String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo();