ard-work/pom.xml
@@ -31,10 +31,6 @@ <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> </dependency> <!-- <dependency>--> <!-- <groupId>org.projectlombok</groupId>--> <!-- <artifactId>lombok</artifactId>--> <!-- </dependency>--> <!--海康录像机二次开发依赖jar包--> <dependency> @@ -173,6 +169,7 @@ <version>3.0.3</version> <scope>compile</scope> </dependency> </dependencies> ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -30,8 +30,8 @@ import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.constant.CamPriority; import com.ruoyi.device.external.domain.ArdEquipExternal; import com.ruoyi.device.external.mapper.ArdEquipExternalMapper; import com.ruoyi.utils.tools.ArdTool; @@ -42,16 +42,12 @@ import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.utils.tube.GeoPoint; import com.ruoyi.utils.tube.TubeTools; import lombok.AllArgsConstructor; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.PriorityBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -694,8 +690,13 @@ //接收时间 guideTask.setReceiveTime(fmt.format(receiveTime)); //报警优先级(通过优先级字典) Integer priority = CamPriority.priorityMap.get(alarmType); guideTask.setPriority(priority); String priority = DictUtils.getDictValue("cameras_priority", alarmType); if(StringUtils.isEmpty(priority)) { log.debug("未匹配到优先级,请检查优先级字典配置"); return; } guideTask.setPriority(Integer.valueOf(priority)); //报警次数 guideTask.setNum(num); //录像存储位置 ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java
@@ -2,7 +2,9 @@ import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java
@@ -14,6 +14,7 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanValidators; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.uuid.IdUtils; import lombok.ToString; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -95,6 +96,7 @@ { throw new RuntimeException("井号已存在"); } ardAlarmpointsWell.setId(IdUtils.simpleUUID()); ardAlarmpointsWell.setUserId(SecurityUtils.getUserId()); ardAlarmpointsWell.setCreateBy(SecurityUtils.getUsername()); ardAlarmpointsWell.setCreateTime(DateUtils.getNowDate()); ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
@@ -55,7 +55,10 @@ @Override public ArdAppTask selectArdAppTaskById(String id) { ArdAppTask ardAppTask = ardAppTaskMapper.selectArdAppTaskById(id); if(StringUtils.isNull(ardAppTask)) { return null; } List<ArdAppTaskDetail> ardAppTaskDetailList = ardAppTask.getArdAppTaskDetailList(); if(ardAppTaskDetailList.size()>0) { ard-work/src/main/java/com/ruoyi/constant/CamPriority.java
File was deleted ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -179,7 +179,7 @@ int i = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo); if (i < 0) { int errorCode = hCNetSDK.NET_DVR_GetLastError(); log.info("登录异常:" + errorCode); log.error("登录异常:" + errorCode); } } @@ -328,7 +328,7 @@ boolean bool = hCNetSDK.NET_DVR_PTZControlWithSpeed_Other(userId, channelNum, dwPTZCommand, dwStop, speed); if (!bool) { int errorCode = hCNetSDK.NET_DVR_GetLastError(); log.info("控制失败,请稍后重试" + errorCode); log.error("控制失败,请稍后重试" + errorCode); } return bool; } @@ -356,7 +356,7 @@ boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, focusmodeCfg.size(), ibrBytesReturned); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置聚焦值失败,请稍后重试" + code); log.error("设置聚焦值失败,请稍后重试" + code); } return bool; } @@ -389,7 +389,7 @@ return map; } else { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("获取聚焦值失败,请稍后重试" + code); log.debug("获取聚焦值失败,请稍后重试" + code); return new HashMap<>(); } } @@ -412,7 +412,7 @@ boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, SET_PRESET, PresetIndex); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("预置点设置失败,请稍后重试" + code); log.error("预置点设置失败,请稍后重试" + code); } return bool; } @@ -435,7 +435,7 @@ boolean bool = hCNetSDK.NET_DVR_PTZPreset_Other(userId, channelNum, GOTO_PRESET, PresetIndex); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("预置点设置失败,请稍后重试" + code); log.error("预置点设置失败,请稍后重试" + code); } return bool; } @@ -537,7 +537,7 @@ } } else { int code = hCNetSDK.NET_DVR_GetLastError(); System.out.println("控制失败,请稍后重试" + code); log.error("控制失败,请稍后重试" + code); } } catch (Exception ex) { log.error(ex.getMessage()); @@ -589,7 +589,7 @@ return ptzMap; } else { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("控制失败,请稍后重试" + code); log.error("控制失败,请稍后重试" + code); return new HashMap<>(); } @@ -627,7 +627,7 @@ boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置ptz失败,请稍后重试" + code); log.error("设置ptz失败,请稍后重试" + code); } return bool; } catch (Exception ex) { @@ -663,7 +663,7 @@ boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置ptz失败,请稍后重试" + code); log.error("设置ptz失败,请稍后重试" + code); } return bool; } catch (Exception ex) { @@ -739,7 +739,7 @@ boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZLOCKCFG, channelNum, point, netDvrPtzLockcfg.size(), ibrBytesReturned); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("获取ptz锁定信息失败,请稍后重试" + code); log.error("获取ptz锁定信息失败,请稍后重试" + code); return -1; } else { netDvrPtzLockcfg.read(); @@ -803,7 +803,7 @@ boolean bool = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_PTZSCOPE, channelNum, point, m_ptzPosCurrent.size(), ibrBytesReturned); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置ptz失败,请稍后重试" + code); log.error("设置ptz失败,请稍后重试" + code); return new HashMap<>(); } else { m_ptzPosCurrent.read(); @@ -853,7 +853,7 @@ log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); } struCameraParam.read(); log.info("是否开启透雾:" + struCameraParam.struDefogCfg.byMode); log.debug("是否开启透雾:" + struCameraParam.struDefogCfg.byMode); NET_DVR_DEFOGCFG defogcfg = new NET_DVR_DEFOGCFG(); if (enable) { @@ -867,9 +867,9 @@ boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, channelNum, point, struCameraParam.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置透雾失败,请稍后重试" + code); log.error("设置透雾失败,请稍后重试" + code); } log.info("设置透雾成功"); log.debug("设置透雾成功"); return bool; } @@ -899,7 +899,7 @@ log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); } struDayNigh.read(); log.info("是否开启夜视:" + struDayNigh.struDayNight.byDayNightFilterType); log.debug("是否开启夜视:" + struDayNigh.struDayNight.byDayNightFilterType); NET_DVR_DAYNIGHT daynight = new NET_DVR_DAYNIGHT(); if (enable) { @@ -915,9 +915,9 @@ boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_CCDPARAMCFG_EX, channelNum, point, struDayNigh.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置夜视失败,请稍后重试" + code); log.error("设置夜视失败,请稍后重试" + code); } log.info("设置夜视成功"); log.debug("设置夜视成功"); return bool; } @@ -944,10 +944,10 @@ IntByReference ibrBytesReturned = new IntByReference(0); boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, struFocusMode.size(), ibrBytesReturned); if (!b_GetCameraParam) { System.out.println("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); } struFocusMode.read(); log.info("当前聚焦模式:" + struFocusMode.byFocusMode); log.debug("当前聚焦模式:" + struFocusMode.byFocusMode); if (enable) { struFocusMode.byFocusMode = 1;//手动聚焦 @@ -961,9 +961,9 @@ boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_FOCUSMODECFG, channelNum, point, struFocusMode.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置聚焦模式失败,请稍后重试" + code); log.error("设置聚焦模式失败,请稍后重试" + code); } log.info("设置聚焦模式成功"); log.debug("设置聚焦模式成功"); return bool; } @@ -979,10 +979,10 @@ IntByReference ibrBytesReturned = new IntByReference(0); boolean b_GetCameraParam = hCNetSDK.NET_DVR_GetDVRConfig(userId, NET_DVR_GET_FOCUSMODECFG, channelNum, point, struFocusMode.size(), ibrBytesReturned); if (!b_GetCameraParam) { System.out.println("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); } struFocusMode.read(); log.info("当前聚焦模式:" + struFocusMode.byFocusMode); log.debug("当前聚焦模式:" + struFocusMode.byFocusMode); return String.valueOf(struFocusMode.byFocusMode); } @@ -1013,9 +1013,9 @@ boolean bool = hCNetSDK.NET_DVR_PTZControl_Other(userId, channelNum, HEATER_PWRON, dwStop); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置云台加热失败,请稍后重试" + code); log.error("设置云台加热失败,请稍后重试" + code); } log.info("设置云台加热成功"); log.debug("设置云台加热成功"); return bool; } @@ -1045,7 +1045,7 @@ log.error("获取前端参数失败,错误码:" + hCNetSDK.NET_DVR_GetLastError()); } struDeicing.read(); log.info("是否开启除冰:" + struDeicing.byEnableDeicing); log.debug("是否开启除冰:" + struDeicing.byEnableDeicing); if (enable) { struDeicing.byEnableDeicing = 1;//开启 @@ -1056,9 +1056,9 @@ boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_DEVSERVER_CFG, channelNum, point, struDeicing.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("设置镜头除冰失败,请稍后重试" + code); log.error("设置镜头除冰失败,请稍后重试" + code); } log.info("设置镜头除冰成功"); log.debug("设置镜头除冰成功"); return bool; } @@ -1090,13 +1090,13 @@ ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024); // 抓图到内存,单帧数据捕获并保存成JPEG存放在指定的内存空间中 boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a); log.info("-----------这里开始图片存入内存----------" + is); log.debug("-----------这里开始图片存入内存----------" + is); Base64.Encoder decoder = Base64.getEncoder(); // BASE64Encoder encoder = new BASE64Encoder(); String png_base64 = decoder.encodeToString(jpegBuffer.array());//转换成base64串 png_base64 = png_base64.replaceAll("\n", "").replaceAll("\r", "");//删除 \r\n log.info("-----------处理完成截图数据----------"); log.debug("-----------处理完成截图数据----------"); return png_base64; } @@ -1134,11 +1134,11 @@ //设置图片大小 ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024); // 抓图到内存,单帧数据捕获并保存成JPEG存放在指定的内存空间中 log.info("-----------这里开始封装 NET_DVR_CaptureJPEGPicture_NEW---------"); log.debug("-----------这里开始封装 NET_DVR_CaptureJPEGPicture_NEW---------"); boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a); log.info("-----------这里开始图片存入内存----------" + is); log.debug("-----------这里开始图片存入内存----------" + is); if (is) { log.info("hksdk(抓图)-结果状态值(0表示成功):" + hCNetSDK.NET_DVR_GetLastError()); log.debug("hksdk(抓图)-结果状态值(0表示成功):" + hCNetSDK.NET_DVR_GetLastError()); byte[] array = jpegBuffer.array(); //存储到minio String BucketName = "pic"; @@ -1152,7 +1152,7 @@ boolean b = MinioUtils.uploadObject(BucketName, ObjectName, input, input.available(), ContentType); if (b) { url = MinioUtils.getBucketObjectUrl(BucketName, ObjectName); log.info("上传文件成功!" + url); log.debug("上传文件成功!" + url); } } catch (IOException ex) { log.error("上传文件异常:" + ex.getMessage()); @@ -1160,7 +1160,7 @@ return url; } else { int code = hCNetSDK.NET_DVR_GetLastError(); log.info("抓图失败,请稍后重试" + code); log.error("抓图失败,请稍后重试" + code); return ""; } } @@ -1212,21 +1212,21 @@ log.error("取流失败" + hCNetSDK.NET_DVR_GetLastError()); return ""; } log.info("取流成功"); log.debug("取流成功"); GlobalVariable.previewMap.put(cameraId, lRealHandle); } if (!hCNetSDK.NET_DVR_SaveRealData_V30(GlobalVariable.previewMap.get(cameraId), 2, path)) { log.error("保存视频文件到临时文件夹失败 错误码为: " + hCNetSDK.NET_DVR_GetLastError()); return ""; } log.info("录像开始"); log.debug("录像开始"); } else { if (GlobalVariable.previewMap.containsKey(cameraId)) { Integer lRealHandle = GlobalVariable.previewMap.get(cameraId); hCNetSDK.NET_DVR_StopRealPlay(lRealHandle); GlobalVariable.previewMap.remove(cameraId); } log.info("录像停止"); log.debug("录像停止"); } return url; } catch (Exception ex) { ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
@@ -1,6 +1,7 @@ package com.ruoyi.device.uav.service; import com.dtflys.forest.exceptions.ForestNetworkException; import com.dtflys.forest.exceptions.ForestRuntimeException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -89,8 +90,8 @@ if (this.uavUser != null) { this.token = (String) this.uavUser.get("access_token"); } } catch (ForestNetworkException e) { e.printStackTrace(); } catch (ForestRuntimeException e) { log.error("无人机连接超时" + e.getMessage()); } catch (JsonMappingException e) { e.printStackTrace(); } catch (JsonProcessingException e) { ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
@@ -1,8 +1,6 @@ package com.ruoyi.inspect.service.impl; import java.text.SimpleDateFormat; import java.util.*; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; import com.ruoyi.common.utils.DateUtils; @@ -10,7 +8,6 @@ import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; import com.ruoyi.device.hiksdk.config.MinioClientSingleton; import com.ruoyi.device.hiksdk.service.IHikClientService; import com.ruoyi.inspect.domain.ArdVideoInspectRecord; import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper; @@ -24,7 +21,6 @@ import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper; import com.ruoyi.inspect.domain.ArdVideoInspectTask; import com.ruoyi.inspect.service.IArdVideoInspectTaskService; import javax.annotation.PostConstruct; import javax.annotation.Resource; @@ -417,7 +413,7 @@ try { String currentStepId = ardVideoInspectTask.getCurrentStepId(); if (StringUtils.isNull(currentStepId)) { log.info("当前开始巡检步骤id为空"); log.debug("当前开始巡检步骤id为空"); return; } log.debug("巡检步骤:" + currentStepId + "尝试开始"); @@ -442,6 +438,11 @@ targetPositon[2] = ardAlarmpointsWell.getAltitude(); /*获取相机坐标*/ ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId); if(StringUtils.isNull(cameras)) { log.debug("找不到相机:"+cameraId); return; } double[] cameraPositon = new double[3]; cameraPositon[0] = cameras.getLongitude(); cameraPositon[1] = cameras.getLatitude(); @@ -474,7 +475,7 @@ try { String currentStepId = ardVideoInspectTask.getCurrentStepId(); if (StringUtils.isNull(currentStepId)) { log.info("当前开始巡检步骤id为空"); log.debug("当前开始巡检步骤id为空"); return; } log.debug("巡检正常,尝试引导:" + currentStepId); @@ -495,6 +496,11 @@ targetPositon[2] = ardAlarmpointsWell.getAltitude(); /*获取相机坐标*/ ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId); if(StringUtils.isNull(cameras)) { log.debug("找不到相机:"+cameraId); return; } double[] cameraPositon = new double[3]; cameraPositon[0] = cameras.getLongitude(); cameraPositon[1] = cameras.getLatitude(); ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java
@@ -8,14 +8,21 @@ * @Version: 1.0 **/ import com.ruoyi.app.position.domain.ArdAppPosition; import com.ruoyi.utils.websocket.util.WebSocketUtils; import lombok.extern.slf4j.Slf4j; import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; import java.sql.*; import java.util.*; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @Slf4j public class ReadAccessDatabase { public static void main(String[] args) { // // 多个数据库文件路径 // String[] dbPaths = { // "D:\\mdb\\道路中心线.mdb", ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -141,7 +141,7 @@ /** * 相机操控优先级 */ private Integer cameraPriority; private String cameraPriority; /** * 用户融云token @@ -199,11 +199,11 @@ this.rongCloudToken = rongCloudToken; } public Integer getCameraPriority() { public String getCameraPriority() { return cameraPriority; } public void setCameraPriority(Integer cameraPriority) { public void setCameraPriority(String cameraPriority) { this.cameraPriority = cameraPriority; } ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
@@ -61,8 +61,9 @@ * 测试 */ TEST, /** * 控制 */ CONTROL, CONTROL } ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
@@ -1,31 +1,26 @@ package com.ruoyi.framework.aspectj; import com.ruoyi.common.annotation.SdkOperate; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.constant.CamPriority; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Component; import javax.annotation.Nullable; import javax.annotation.Resource; import java.lang.reflect.Method; import java.util.Date; import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; /** * SDK控制处理 @@ -67,6 +62,7 @@ * @param joinPoint 切点 */ public Boolean controlScopeFilter(ProceedingJoinPoint joinPoint) { //获取请求控制相机的命令信息 CameraCmd cmd = (CameraCmd) joinPoint.getArgs()[0]; String operator = cmd.getOperator();//申请者 @@ -97,23 +93,25 @@ } else { /*当前相机有人控制并且配置了过期时间,先判断优先级,优先级高允许控制*/ Integer currentLevel = 0;//当前相机的操作者的优先级 if (CamPriority.priorityMap.containsKey(currentOperator)) { String camerasPriority = DictUtils.getDictValue("cameras_priority", currentOperator); if(StringUtils.isNotEmpty(camerasPriority)) { /*当前控制者为系统报警用户*/ currentLevel = (Integer) CamPriority.priorityMap.get(currentOperator); currentLevel = Integer.valueOf(camerasPriority); } else { /*当前控制者为普通用户*/ SysUser sysUser = sysUserService.selectUserById(currentOperator); currentLevel = sysUser.getCameraPriority(); currentLevel = Integer.valueOf(sysUser.getCameraPriority()); } Integer operatorLevel = 0;//获取申请者的优先级 if (CamPriority.priorityMap.containsKey(operator)) { String operatorPriority = DictUtils.getDictValue("cameras_priority", operator); if (StringUtils.isNotEmpty(operatorPriority)) { /*包含说明当前申请控制者为系统报警用户*/ operatorLevel = (Integer) CamPriority.priorityMap.get(operator); operatorLevel = Integer.valueOf(operatorPriority); } else { /*否则申请控制者为当前登录用户*/ LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser user = loginUser.getUser();//获取登录用户的信息 operatorLevel = user.getCameraPriority(); operatorLevel = Integer.valueOf(user.getCameraPriority()); } /*申请者未控则判断优先级*/ if (operatorLevel > currentLevel) { ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
@@ -8,6 +8,7 @@ #end #end import com.ruoyi.common.utils.uuid.IdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; #if($table.sub) @@ -67,6 +68,9 @@ @Override public int insert${ClassName}(${ClassName} ${className}) { #foreach ($column in $columns) #if($column.javaField == 'id') ${className}.setId(IdUtils.simpleUUID()); #end #if($column.javaField == 'createTime') ${className}.setCreateTime(DateUtils.getNowDate()); #end ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java
@@ -26,17 +26,17 @@ log.debug("执行历史数据删除"); //遍历存储 try { List<String> buckets=new ArrayList<>(); List<String> buckets = new ArrayList<>(); buckets.add("pic"); buckets.add("record"); for (String name:buckets) { for (String name : buckets) { Iterable<Result<Item>> listObjectsPic = MinioUtils.getObjectsByBucket(name); for (Result<Item> result : listObjectsPic) { Item item = result.get(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.of("Asia/Shanghai")); String objectTime = item.lastModified().format(formatter); Date now= new Date(); Date now = new Date(); // 把日期往前增加一天,整数往后推,负数往前移动 Calendar calendar = new GregorianCalendar(); calendar.setTime(now); @@ -49,9 +49,8 @@ log.debug("expireTime : " + expireTime); log.debug("objectTime 时间在 expireTime 之前,执行删除"); boolean b = MinioUtils.removeObject(name, item.objectName()); if(b) { log.debug("成功删除过期数据:"+ item.objectName()+"---"+item.lastModified()); if (b) { log.debug("成功删除过期数据:" + item.objectName() + "---" + item.lastModified()); } } } @@ -60,5 +59,4 @@ log.error("minio历史数据删除异常:" + ex.getMessage()); } } } ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
@@ -1,26 +1,10 @@ package com.ruoyi.quartz.task; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; import com.ruoyi.common.utils.DateUtils; 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.IArdCamerasService; import com.ruoyi.device.hiksdk.config.MinioClientSingleton; import com.ruoyi.device.hiksdk.service.IHikClientService; import com.ruoyi.inspect.domain.ArdVideoInspectRecord; import com.ruoyi.inspect.domain.ArdVideoInspectTask; import com.ruoyi.inspect.domain.ArdVideoInspectTaskStep; import com.ruoyi.inspect.service.IArdVideoInspectRecordService; import com.ruoyi.inspect.service.IArdVideoInspectTaskService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; /** * @Description: 巡检任务 @@ -30,13 +14,16 @@ * @Version: 1.0 **/ @Component("PatrolInspectionTask") @Slf4j(topic = "PatrolInspectionTask") public class PatrolInspectionTask { @Resource IArdVideoInspectTaskService ardVideoInspectTaskService; //巡检任务 /** * 定时巡检任务 * 刘苏义 * 2023/8/9 9:18:42 */ public void scanRun() { ardVideoInspectTaskService.autoTaskRun(); } ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java
@@ -28,25 +28,28 @@ ISysUserService sysUserService; @Resource RongCloudService rongCloudService; /** * 定时获取app用户在线状态 * 刘苏义 * 2023/8/9 9:17:48 */ public void getAppUserOnlineStateTask() { public void getAppUserOnlineStateTask() { try{ List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser()); if(SysUserList.size()>0) { for (SysUser sysUser : SysUserList) { Boolean online = rongCloudService.checkOnline(sysUser.getUserId()); if (online) { sysUser.setAppOnlineState("1"); } else { sysUser.setAppOnlineState("0"); try { List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser()); if (SysUserList.size() > 0) { for (SysUser sysUser : SysUserList) { Boolean online = rongCloudService.checkOnline(sysUser.getUserId()); if (online) { sysUser.setAppOnlineState("1"); } else { sysUser.setAppOnlineState("0"); } sysUserService.updateUserProfile(sysUser); } sysUserService.updateUserProfile(sysUser); } }} catch (Exception ex) { log.error("融云在线接口异常:"+ex.getMessage()); } catch (Exception ex) { log.error("融云在线接口异常:" + ex.getMessage()); } } }