‘liusuyi’
2023-11-08 36de05a5caf9050c49b15a9ef9487f35518b208a
sdk切换更改为工厂模式
已添加1个文件
已重命名3个文件
已修改10个文件
已删除1个文件
304 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDKFactory.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/strategy/SdkStrategyFactory.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/radar/controller/ArdEquipRadarController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/controller/DhSdkController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/lib/LoginResultCallBack.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/i18n/messages_en_US.properties 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/device/camera/strategy/SdkStrategy.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.device.camera.strategy;
package com.ruoyi.device.camera.factory;
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.device.camera.domain.CameraCmd;
@@ -11,7 +11,7 @@
 * åˆ˜è‹ä¹‰
 * 2023/11/7 10:48:52
 */
public interface SdkStrategy {
public interface CameraSDK {
    //同步登录
    boolean login(ArdCameras cameras);
@@ -85,7 +85,6 @@
    //手动录像
    String record(CameraCmd cmd);
    //引导目标位置
    boolean guideTargetPosition(CameraCmd cmd);
@@ -99,8 +98,8 @@
    boolean recordStopNotToMinio(CameraCmd cmd);
    //获取相机通道信息
    public List<ArdChannel> getCameraChannelList(ArdCameras camera);
    List<ArdChannel> getCameraChannelList(ArdCameras camera);
    //获取GIS信息数据
    public Map<String, Object> getGisInfo(CameraCmd cmd);
    Map<String, Object> getGisInfo(CameraCmd cmd);
}
ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDKFactory.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
package com.ruoyi.device.camera.factory;
import com.ruoyi.utils.sdk.dhsdk.service.impl.DahuaSDK;
import com.ruoyi.utils.sdk.hiksdk.service.impl.HikvisionSDK;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
 * @Description: SDK策略工厂类
 * @ClassName: SdkStrategyFactory
 * @Author: åˆ˜è‹ä¹‰
 * @Date: 2023å¹´11月07日10:53:00
 **/
@Component
public class CameraSDKFactory {
    @Resource
    private HikvisionSDK hikvisionSDK;
    @Resource
    private DahuaSDK dahuaSDK;
    /**
     * æ ¹æ®ä¼ å…¥çš„工厂参数创建相应的相机SDK实例
     *
     * @param factory å·¥åŽ‚å‚æ•°ï¼Œç”¨äºŽç¡®å®šè¦åˆ›å»ºçš„ç›¸æœºSDK类型
     * @return åˆ›å»ºçš„相机SDK实例
     * @throws IllegalArgumentException å¦‚果传入的工厂参数不支持
     */
    public CameraSDK createCameraSDK(String factory) {
        if (factory.equals("1")) {
            return hikvisionSDK;
        } else if (factory.equals("2")) {
            return dahuaSDK;
        } else {
            throw new IllegalArgumentException("Unsupported device: " + factory);
        }
    }
}
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
@@ -7,8 +7,8 @@
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.camera.strategy.SdkStrategy;
import com.ruoyi.device.camera.strategy.SdkStrategyFactory;
import com.ruoyi.device.camera.factory.CameraSDK;
import com.ruoyi.device.camera.factory.CameraSDKFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
@@ -34,7 +34,7 @@
    @Resource
    private RedisCache redisCache;
    @Resource
    private SdkStrategyFactory sdkStrategyFactory;
    private CameraSDKFactory cameraSDKFactory;
    /**
     * å¯åŠ¨çº¿ç¨‹æ–¹æ³•ï¼Œç”¨äºŽæ‰§è¡Œåˆå§‹åŒ–ç™»å½•ç›¸æœºçš„é€»è¾‘
@@ -64,9 +64,9 @@
        try {
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                //sdkStrategy.login(ardCamera);//同步登录
                sdkStrategy.asyncLogin(ardCamera);//异步登录
                cameraSDK.asyncLogin(ardCamera);//异步登录
                result=true;
            }
        } catch (Exception ex) {
@@ -84,8 +84,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.logout(cameraId);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.logout(cameraId);
            }
        } catch (Exception ex) {
            log.error("注销异常:" + ex.getMessage());
@@ -103,8 +103,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                onLine = sdkStrategy.isOnLine(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                onLine = cameraSDK.isOnLine(cmd);
            }
            return onLine;
        } catch (Exception ex) {
@@ -123,8 +123,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.pTZControl(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.pTZControl(cmd);
            }
            return result;
        } catch (Exception ex) {
@@ -142,8 +142,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.setFocusPos(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.setFocusPos(cmd);
            }
        } catch (Exception ex) {
            log.error("设置聚焦值异常:" + ex.getMessage());
@@ -161,8 +161,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.getFocusPos(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.getFocusPos(cmd);
            }
        } catch (Exception ex) {
            log.error("获取聚焦值异常:" + ex.getMessage());
@@ -180,8 +180,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.setPreset(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.setPreset(cmd);
            }
        } catch (Exception ex) {
            log.error("设置预置位异常:" + ex.getMessage());
@@ -199,8 +199,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.gotoPreset(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.gotoPreset(cmd);
            }
        } catch (Exception ex) {
            log.error("调用预置位异常:" + ex.getMessage());
@@ -217,8 +217,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                map = sdkStrategy.getVideoCompressionCfg(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                map = cameraSDK.getVideoCompressionCfg(cmd);
            }
        } catch (Exception ex) {
            log.error("获取码流压缩参数异常:" + ex.getMessage());
@@ -235,8 +235,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.controlDefogcfg(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.controlDefogcfg(cmd);
            }
        } catch (Exception ex) {
            log.error("操控透雾异常:" + ex.getMessage());
@@ -253,8 +253,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.controlInfrarecfg(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.controlInfrarecfg(cmd);
            }
        } catch (Exception ex) {
            log.error("操控红外异常:" + ex.getMessage());
@@ -271,8 +271,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.controlFocusMode(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.controlFocusMode(cmd);
            }
        } catch (Exception ex) {
            log.error("操控聚焦模式异常:" + ex.getMessage());
@@ -289,8 +289,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.getFocusMode(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.getFocusMode(cmd);
            }
        } catch (Exception ex) {
            log.error("获取聚焦模式异常:" + ex.getMessage());
@@ -307,8 +307,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.controlPTHeateRpwron(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.controlPTHeateRpwron(cmd);
            }
        } catch (Exception ex) {
            log.error("操控云台加热异常:" + ex.getMessage());
@@ -325,8 +325,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.controlCameraDeicing(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.controlCameraDeicing(cmd);
            }
        } catch (Exception ex) {
            log.error("操控云台加热异常:" + ex.getMessage());
@@ -343,8 +343,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.getPTZLockInfo(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.getPTZLockInfo(cmd);
            }
        } catch (Exception ex) {
            log.error("获取云台锁定信息异常:" + ex.getMessage());
@@ -370,8 +370,8 @@
            if (ardCamera != null) {
                //获取摄像头工厂
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                url = sdkStrategy.picCutCate(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                url = cameraSDK.picCutCate(cmd);
            }
        } catch (Exception ex) {
            log.error("抓图异常:" + ex.getMessage());
@@ -388,8 +388,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                map = sdkStrategy.getPtz(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                map = cameraSDK.getPtz(cmd);
            }
        } catch (Exception ex) {
            log.error("获取ptz异常:" + ex.getMessage());
@@ -406,8 +406,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                map = sdkStrategy.getPtzScope(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                map = cameraSDK.getPtzScope(cmd);
            }
        } catch (Exception ex) {
            log.error("获取ptz范围异常:" + ex.getMessage());
@@ -425,8 +425,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.setPtz(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.setPtz(cmd);
            }
        } catch (Exception ex) {
            log.error("设置ptz异常:" + ex.getMessage());
@@ -444,8 +444,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.setZeroPtz(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.setZeroPtz(cmd);
            }
        } catch (Exception ex) {
            log.error("设置零方位角异常:" + ex.getMessage());
@@ -463,8 +463,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.guideTargetPosition(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.guideTargetPosition(cmd);
            }
        } catch (Exception ex) {
            log.error("引导指向目标异常:" + ex.getMessage());
@@ -527,8 +527,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                url = sdkStrategy.record(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                url = cameraSDK.record(cmd);
            }
        } catch (Exception ex) {
            log.error("录像异常:" + ex.getMessage());
@@ -545,8 +545,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.recordStart(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.recordStart(cmd);
            }
        } catch (Exception ex) {
            log.error("开始录像异常:" + ex.getMessage());
@@ -563,8 +563,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                url = sdkStrategy.recordStopToMinio(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                url = cameraSDK.recordStopToMinio(cmd);
            }
        } catch (Exception ex) {
            log.error("停止录像异常:" + ex.getMessage());
@@ -581,8 +581,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                result = sdkStrategy.recordStopNotToMinio(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                result = cameraSDK.recordStopNotToMinio(cmd);
            }
        } catch (Exception ex) {
            log.error("停止录像异常:" + ex.getMessage());
@@ -599,8 +599,8 @@
            ArdCameras ardCamera = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
            if (ardCamera != null) {
                String factory = ardCamera.getFactory();
                SdkStrategy sdkStrategy = sdkStrategyFactory.getSdkStrategy(factory);
                map = sdkStrategy.getGisInfo(cmd);
                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
                map = cameraSDK.getGisInfo(cmd);
            }
        } catch (Exception ex) {
            log.error("获取相机架设参数异常:" + ex.getMessage());
ard-work/src/main/java/com/ruoyi/device/camera/strategy/SdkStrategyFactory.java
ÎļþÒÑɾ³ý
ard-work/src/main/java/com/ruoyi/device/radar/controller/ArdEquipRadarController.java
@@ -117,8 +117,11 @@
        return toAjax(ardEquipRadarService.deleteArdEquipRadarByIds(ids));
    }
    /**
     * è§’度引导信息反馈
     */
    @ApiOperation(value = "角度引导信息反馈")
    @PostMapping("/guideInfo")
    @PostMapping("/guideInfoBack")
    public AjaxResult guideInfoBack(@RequestBody GuideInfo guideInfo)
    {
        return radarClient.guideInfoBack(guideInfo);
ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java
@@ -2,11 +2,9 @@
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.camera.service.ICameraSdkService;
import com.ruoyi.device.camera.service.impl.CameraSdkServiceImpl;
import com.ruoyi.utils.sdk.common.GlobalVariable;
import com.ruoyi.inspect.domain.ArdVideoInspectTask;
import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper;
import com.ruoyi.utils.sdk.hiksdk.service.impl.HikSdkStrategy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/controller/DhSdkController.java
@@ -8,7 +8,7 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.utils.sdk.dhsdk.service.impl.DhSdkStrategy;
import com.ruoyi.utils.sdk.dhsdk.service.impl.DahuaSDK;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
@@ -36,7 +36,7 @@
public class DhSdkController extends BaseController {
    @Resource
    private DhSdkStrategy sdk;
    private DahuaSDK sdk;
    @ApiOperation(value = "云台控制", notes = "Code:1-左上 2-上 3-右上 4-å·¦ 5-巡航 6-右 7-左下 8-下 9-右下 10-焦距变大 11-焦距变小\n" +
ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DhSdkStrategy.java ÐÞ¸Ä
@@ -2,11 +2,10 @@
import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
import com.ruoyi.alarm.global.domain.GuideTask;
import com.ruoyi.common.annotation.SdkOperate;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.camera.strategy.SdkStrategy;
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.service.IArdCamerasService;
@@ -25,7 +24,6 @@
import com.ruoyi.utils.sdk.dhsdk.module.*;
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.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -54,7 +52,7 @@
 **/
@Slf4j(topic = "dhSdk")
@Service
public class DhSdkStrategy implements SdkStrategy {
public class DahuaSDK implements CameraSDK {
    @Resource
    private IArdCamerasService ardCamerasService;
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/controller/HikSdkController.java
@@ -10,7 +10,7 @@
import com.ruoyi.device.camera.service.IArdCamerasService;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.utils.sdk.hiksdk.service.impl.HikSdkStrategy;
import com.ruoyi.utils.sdk.hiksdk.service.impl.HikvisionSDK;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
@@ -35,7 +35,7 @@
public class HikSdkController extends BaseController {
    @Resource
    private HikSdkStrategy sdk;
    private HikvisionSDK sdk;
    @Resource
    private IArdCamerasService ardCamerasService;
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/lib/LoginResultCallBack.java
@@ -11,7 +11,7 @@
import com.ruoyi.utils.sdk.common.GlobalVariable;
import com.ruoyi.media.domain.Vtdu;
import com.ruoyi.media.service.IVtduService;
import com.ruoyi.utils.sdk.hiksdk.service.impl.HikSdkStrategy;
import com.ruoyi.utils.sdk.hiksdk.service.impl.HikvisionSDK;
import com.sun.jna.Pointer;
import lombok.extern.slf4j.Slf4j;
import java.util.Comparator;
@@ -38,7 +38,7 @@
    public int invoke(int lUserID, int dwResult, HCNetSDK.NET_DVR_DEVICEINFO_V30 lpDeviceinfo, Pointer pUser) {
        IVtduService vtduService = SpringUtils.getBean(IVtduService.class);
        IArdChannelService ardChannelService = SpringUtils.getBean(IArdChannelService.class);
        HikSdkStrategy hikClientService = SpringUtils.getBean(HikSdkStrategy.class);
        HikvisionSDK hikClientService = SpringUtils.getBean(HikvisionSDK.class);
        IArdCamerasService ardCamerasService = SpringUtils.getBean(IArdCamerasService.class);
        if (GlobalVariable.loginMap.containsKey(camera.getId())) {
            GlobalVariable.loginMap.remove(camera.getId());
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikSdkStrategy.java ÐÞ¸Ä
@@ -2,12 +2,11 @@
import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
import com.ruoyi.alarm.global.domain.GuideTask;
import com.ruoyi.common.annotation.SdkOperate;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.camera.service.IArdCamerasService;
import com.ruoyi.device.camera.strategy.SdkStrategy;
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.channel.domain.ArdChannel;
@@ -46,7 +45,7 @@
 **/
@Service
@Slf4j(topic = "hikSdk")
public class HikSdkStrategy implements SdkStrategy {
public class HikvisionSDK implements CameraSDK {
    @Resource
    private IArdCamerasService ardCamerasService;
    @Resource
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
@@ -1,7 +1,10 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import com.ruoyi.common.utils.MessageUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
@@ -23,13 +26,12 @@
/**
 * èœå•信息
 *
 *
 * @author ruoyi
 */
@RestController
@RequestMapping("/system/menu")
public class SysMenuController extends BaseController
{
public class SysMenuController extends BaseController {
    @Autowired
    private ISysMenuService menuService;
@@ -38,8 +40,7 @@
     */
    @PreAuthorize("@ss.hasPermi('system:menu:list')")
    @GetMapping("/list")
    public AjaxResult list(SysMenu menu)
    {
    public AjaxResult list(SysMenu menu) {
        List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
        return success(menus);
    }
@@ -49,8 +50,7 @@
     */
    @PreAuthorize("@ss.hasPermi('system:menu:query')")
    @GetMapping(value = "/{menuId}")
    public AjaxResult getInfo(@PathVariable Long menuId)
    {
    public AjaxResult getInfo(@PathVariable Long menuId) {
        return success(menuService.selectMenuById(menuId));
    }
@@ -58,8 +58,7 @@
     * èŽ·å–èœå•ä¸‹æ‹‰æ ‘åˆ—è¡¨
     */
    @GetMapping("/treeselect")
    public AjaxResult treeselect(SysMenu menu)
    {
    public AjaxResult treeselect(SysMenu menu) {
        List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
        return success(menuService.buildMenuTreeSelect(menus));
    }
@@ -68,8 +67,7 @@
     * åŠ è½½å¯¹åº”è§’è‰²èœå•åˆ—è¡¨æ ‘
     */
    @GetMapping(value = "/roleMenuTreeselect/{roleId}")
    public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId)
    {
    public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
        List<SysMenu> menus = menuService.selectMenuList(getUserId());
        AjaxResult ajax = AjaxResult.success();
        ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
@@ -83,14 +81,10 @@
    @PreAuthorize("@ss.hasPermi('system:menu:add')")
    @Log(title = "菜单管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@Validated @RequestBody SysMenu menu)
    {
        if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu)))
        {
    public AjaxResult add(@Validated @RequestBody SysMenu menu) {
        if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu))) {
            return error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
        }
        else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
        {
        } else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
            return error("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
        }
        menu.setCreateBy(getUsername());
@@ -103,18 +97,12 @@
    @PreAuthorize("@ss.hasPermi('system:menu:edit')")
    @Log(title = "菜单管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@Validated @RequestBody SysMenu menu)
    {
        if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu)))
        {
    public AjaxResult edit(@Validated @RequestBody SysMenu menu) {
        if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu))) {
            return error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
        }
        else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
        {
        } else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
            return error("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
        }
        else if (menu.getMenuId().equals(menu.getParentId()))
        {
        } else if (menu.getMenuId().equals(menu.getParentId())) {
            return error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
        }
        menu.setUpdateBy(getUsername());
@@ -127,14 +115,11 @@
    @PreAuthorize("@ss.hasPermi('system:menu:remove')")
    @Log(title = "菜单管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{menuId}")
    public AjaxResult remove(@PathVariable("menuId") Long menuId)
    {
        if (menuService.hasChildByMenuId(menuId))
        {
    public AjaxResult remove(@PathVariable("menuId") Long menuId) {
        if (menuService.hasChildByMenuId(menuId)) {
            return warn("存在子菜单,不允许删除");
        }
        if (menuService.checkMenuExistRole(menuId))
        {
        if (menuService.checkMenuExistRole(menuId)) {
            return warn("菜单已分配,不允许删除");
        }
        return toAjax(menuService.deleteMenuById(menuId));
ruoyi-admin/src/main/resources/i18n/messages_en_US.properties
@@ -38,4 +38,5 @@
##\u7EDF\u4E00\u8FD4\u56DE
operation.failed=Operation failed
operation.success=Operation successful
operation.success=Operation successful
ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties
@@ -38,4 +38,4 @@
##\u7EDF\u4E00\u8FD4\u56DE
operation.failed=\u64CD\u4F5C\u5931\u8D25
operation.success=\u64CD\u4F5C\u6210\u529F
operation.success=\u64CD\u4F5C\u6210\u529F
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java
@@ -10,8 +10,8 @@
import com.ruoyi.media.service.IVtduService;
import com.ruoyi.rongcloud.service.RongCloudService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.utils.sdk.dhsdk.service.impl.DhSdkStrategy;
import com.ruoyi.utils.sdk.hiksdk.service.impl.HikSdkStrategy;
import com.ruoyi.utils.sdk.dhsdk.service.impl.DahuaSDK;
import com.ruoyi.utils.sdk.hiksdk.service.impl.HikvisionSDK;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -33,9 +33,9 @@
    @Resource
    IArdCamerasService iArdCamerasService;
    @Resource
    HikSdkStrategy hikClientService;
    HikvisionSDK hikClientService;
    @Resource
    DhSdkStrategy dhClientService;
    DahuaSDK dhClientService;
    @Resource
    IVtduService vtduService;
    @Resource