| ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CleanTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/syncDeviceStateTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java
文件已删除 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CleanTask.java
文件名从 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java 修改 @@ -1,15 +1,18 @@ package com.ruoyi.quartz.task; import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.utils.minio.MinioUtil; import io.minio.Result; import io.minio.messages.Item; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.PriorityBlockingQueue; /** * @ClassName: MinioDeleteTask @@ -19,8 +22,8 @@ * @Version: 1.0 **/ @Component("MinioTask") @Slf4j(topic = "minio") public class MinioTask { @Slf4j public class CleanTask { public void delHistoryTask(Integer saveDays) { log.debug("执行历史数据删除"); @@ -59,4 +62,20 @@ log.error("minio历史数据删除异常:" + ex.getMessage()); } } /** * 定时清空引导队列 * 刘苏义 * 2023/7/1 10:41 */ public void clearGuideQueue() { try { log.info("定时清理引导队列"); for (PriorityBlockingQueue<GuideTask> guideQueue : GuidePriorityQueue.cameraQueueMap.values()) { guideQueue.clear(); } } catch (Exception ex) { log.error("定时清空引导队列:" + ex.getMessage()); } } } ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
文件名从 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java 修改 @@ -1,32 +1,58 @@ package com.ruoyi.quartz.task; import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.global.service.IGlobalAlarmService; import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.utils.websocket.util.WebSocketUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.hiksdk.service.IHikClientService; import com.ruoyi.utils.websocket.util.WebSocketUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.*; import java.util.concurrent.PriorityBlockingQueue; import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * @ClassName: AlarmTask * @Description: * @ClassName: SdkTask * @Author: 刘苏义 * @Date: 2023年06月24日14:23 * @Author: Administrator * @Date: 2023年03月06日 11:13 * @Version: 1.0 **/ @Component("SdkTask") @Slf4j(topic = "hikSdk") public class SdkTask { @Component("PushTask") @Slf4j public class PushTask { /** * @描述 定时推送所有报警的点位数量 * @参数 [] * @返回值 void * @创建人 刘苏义 * @创建时间 2023/6/15 15:43 * @修改人和其它信息 */ public void globalAlarmCountPush() { try { IGlobalAlarmService globalAlarmService = SpringUtils.getBean(IGlobalAlarmService.class); Map<String, Object> stringIntegerMap = globalAlarmService.selectAlarmLogsCount(); if (ONLINE_USER_SESSIONS.size() > 0) { WebSocketUtils.sendMessageAll(stringIntegerMap); } } catch (Exception ex) { log.error("推送报警的点位数量异常:" + ex.getMessage()); } } /** * @描述 定时推送ptz @@ -105,5 +131,4 @@ log.error("推送ptz异常:" + ex.getMessage()); } } } } ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java
文件已删除 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java
对比新文件 @@ -0,0 +1,84 @@ package com.ruoyi.quartz.task; import com.ruoyi.common.core.domain.entity.SysUser; 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.service.IHikClientService; import com.ruoyi.rongcloud.service.RongCloudService; import com.ruoyi.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; /** * @Description: 同步任务 * @ClassName: syncDeviceStateTask * @Author: 刘苏义 * @Date: 2023年10月08日11:06:42 **/ @Component("SyncTask") @Slf4j public class SyncTask { @Resource ISysUserService sysUserService; @Resource RongCloudService rongCloudService; @Resource IArdCamerasService iArdCamerasService; @Resource IHikClientService iHikClientService; /** * 同步相机在线状态 * 刘苏义 * 2023/10/8 14:54:41 */ public void cameraState() { List<ArdCameras> ardCameras = iArdCamerasService.selectArdCamerasListNoDataScope(new ArdCameras()); for (ArdCameras camera : ardCameras) { CameraCmd cmd = new CameraCmd(); cmd.setCameraId(camera.getId()); boolean onLineNew = iHikClientService.isOnLine(cmd);//相机实时状态 boolean onLineOld = "1".equals(camera.getState());//相机历史状态 //当状态发生变化时,更新实时状态 if (onLineNew != onLineOld) { if (onLineNew) { camera.setState("1"); } else { camera.setState("0"); } iArdCamerasService.updateArdCameras(camera); } } } /** * 定时获取app用户在线状态 * 刘苏义 * 2023/8/9 9:17:48 */ public void appUserState() { try { List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser()); if (SysUserList.size() > 0) { for (SysUser sysUser : SysUserList) { String state = sysUser.getAppOnlineState();//获取当前用户的在线状态 Boolean online = rongCloudService.checkOnline(sysUser.getUserId());//从融云获取在线状态 if (state != null) { Boolean appOnlineState = state.equals("1"); if (appOnlineState == online) { continue; } } sysUser.setAppOnlineState(online ? "1" : "0"); sysUserService.updateUserProfile(sysUser); } } } catch (Exception ex) { log.error("融云在线接口异常:" + ex.getMessage()); } } } ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/syncDeviceStateTask.java
文件已删除 ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml
@@ -42,6 +42,7 @@ and create_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD') </if> </where> order by create_time desc </select> <select id="selectJobLogAll" resultMap="SysJobLogResult"> ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml
@@ -41,6 +41,7 @@ AND invoke_target like ('%${invokeTarget}%') </if> </where> order by create_time desc </select> <select id="selectJobAll" resultMap="SysJobResult">