ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -39,6 +39,7 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.external.domain.ArdEquipExternal; import com.ruoyi.device.external.mapper.ArdEquipExternalMapper; import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper; @@ -51,6 +52,7 @@ import com.ruoyi.utils.tube.GeoPoint; import com.ruoyi.utils.tube.TubeTools; import lombok.extern.slf4j.Slf4j; import org.gavaghan.geodesy.GlobalCoordinates; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -1020,7 +1022,6 @@ } else { //å¦åæ¯å¯¹æ´æ°æ¶é´ Date lastUpdateTime = lastMoveData.getUpdateTime(); Date lastGuideTime = lastMoveData.getGuideTime(); long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime); if (secDatePoor <= radarMergeTime) { @@ -1374,11 +1375,11 @@ int index = name.indexOf("("); String alarmpointName = name.substring(0, index); //è·åé·è¾¾æå¨å¡ä¸ç大å çµ String cameraIdWithTower = ardEquipRadarMapper.getCameraByRadar(radarId); if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) { log.debug("è·åå°é·è¾¾å¡ä¸çå çµ:" + cameraIdWithTower); ArdCameras cameraWithTower = ardEquipRadarMapper.getCameraByRadar(radarId); if (StringUtils.isNotNull(cameraWithTower)) { log.debug("è·åå°é·è¾¾å¡ä¸çå çµ:" + cameraWithTower.getId()); //妿é·è¾¾å¡ä¸æå çµ messagesEnqueued(cameraIdWithTower, alarmId, alarmType, createTime, 1, 1, coordinate); messagesEnqueued(cameraWithTower.getId(), alarmId, alarmType, createTime, 1, 1, coordinate); } else { log.debug("æªè·åå°é·è¾¾å¡ä¸çå çµ,æ æ³å¼å¯¼"); } @@ -1386,7 +1387,7 @@ ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName); if (StringUtils.isNotNull(ardAlarmpointsWell) && StringUtils.isNotEmpty(ardAlarmpointsWell.getCameraId())) { String cameraId = ardAlarmpointsWell.getCameraId(); if (cameraId.equals(cameraIdWithTower)) { if (cameraId.equals(cameraWithTower.getId())) { return; } log.info("è·åå°æ¥è¦ç¹å ³èçå çµ:" + cameraId); ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdRadarServiceImpl.java
@@ -3,11 +3,14 @@ import com.alibaba.fastjson2.JSONObject; import com.ruoyi.alarm.radar.service.ArdRadarService; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.ICameraSdkService; import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper; import com.ruoyi.storage.minio.domain.jsonbean.JsonsRootBean; import com.ruoyi.utils.gis.GisUtil; import lombok.extern.slf4j.Slf4j; import org.gavaghan.geodesy.GlobalCoordinates; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -42,19 +45,26 @@ if (msgMap != null) { Double p = Double.parseDouble(msgMap.get("p").toString()); Double t = Double.parseDouble(msgMap.get("t").toString()); Double z = Double.parseDouble(msgMap.get("z").toString()); Long distance = Long.parseLong(msgMap.get("distance").toString()); String radarId = msgMap.get("radarId").toString(); //è·åé·è¾¾æå¨å¡ä¸ç大å çµ String cameraIdWithTower = ardEquipRadarMapper.getCameraByRadar(radarId); if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) { log.debug("è·åå°é·è¾¾å¡ä¸çå çµ:" + cameraIdWithTower); ArdCameras camera = ardEquipRadarMapper.getCameraByRadar(radarId); if (StringUtils.isNotNull(camera)) { log.debug("è·åå°é·è¾¾å¡ä¸çå çµ:" + camera.getId()); //计ç®ç®æ ç¹åæ GlobalCoordinates cameraCoordinates = new GlobalCoordinates(camera.getLatitude(), camera.getLongitude()); GlobalCoordinates targetCoordinates = GisUtil.getGlobalCoordinates(cameraCoordinates, p, distance); //è·åptz double[] cameraPoint = new double[]{ camera.getLongitude(), camera.getLatitude(),camera.getAltitude()}; double[] targetPoint = new double[]{targetCoordinates.getLongitude(), targetCoordinates.getLatitude()}; double[] cameraPTZ = GisUtil.getCameraPTZ(cameraPoint, targetPoint, 20, 150); //妿é·è¾¾å¡ä¸æå çµ CameraCmd cmd = new CameraCmd(cameraIdWithTower, 1); CameraCmd cmd = new CameraCmd(camera.getId(), 1); cmd.setOperator("sys_radar_force"); Map<String, Double> ptzMap = new HashMap<>(); ptzMap.put("p", p); ptzMap.put("t", t); ptzMap.put("z", z); ptzMap.put("z", cameraPTZ[2]); cmd.setPtzMap(ptzMap); boolean res = iCameraSdkService.setPtz(cmd); if (res) { @@ -67,7 +77,7 @@ } } } catch (Exception ex) { log.error("强å¶å¼å¯¼å¼å¸¸:"+ ex.getMessage()); log.error("强å¶å¼å¯¼å¼å¸¸:" + ex.getMessage()); } } } } 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/device/radar/mapper/ArdEquipRadarMapper.java
@@ -3,6 +3,7 @@ import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.radar.domain.ArdEquipRadar; /** @@ -62,7 +63,7 @@ public int deleteArdEquipRadarByIds(String[] ids); /** * éè¿é·è¾¾idæ¾å°å ³èå¡ä¸ç大å çµid * éè¿é·è¾¾idæ¾å°å ³èå¡ä¸ç大å çµ */ String getCameraByRadar(String radarId); ArdCameras getCameraByRadar(String radarId); } 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/gis/GisUtil.java
@@ -201,9 +201,9 @@ double[] ptz = GisUtil.getCameraPTZ(camera, lookAt, viewAngle, viewWidth); System.out.println("ptz:" + Arrays.toString(ptz));*/ // double[] camera = {125.153903999999997,46.5600799999999992,258.430000000000007}; GlobalCoordinates camera = new GlobalCoordinates(46.5600799999999992,125.153903999999997); double p = 212.70155; double distance = 4048.886568114861; GlobalCoordinates camera = new GlobalCoordinates(45.755847,126.640557); double p = 39.71; double distance = 164; GlobalCoordinates point = getGlobalCoordinates(camera, p, distance); System.out.println("point:"); @@ -211,4 +211,4 @@ System.out.println("lat:"+point.getLatitude()); } } } 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 ard-work/src/main/resources/mapper/device/ArdEquipRadarMapper.xml
@@ -194,12 +194,11 @@ #{id} </foreach> </delete> <select id="getCameraByRadar" resultType="String"> select ac.id from ard_equip_radar aer INNER JOIN ard_towers at on aer.tower_id= at.id INNER JOIN ard_cameras ac on aer.tower_id=ac.tower_id <select id="getCameraByRadar" resultType="ArdCameras"> select ac.* from ard_equip_radar aer INNER JOIN ard_towers at on aer.tower_id= at.id INNER JOIN ard_cameras ac on aer.tower_id=ac.tower_id where aer.id=#{radarId} limit 1 </select> </mapper> 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