From a7c7965a518359a1c81bde0a8c451f2fc1cc25fe Mon Sep 17 00:00:00 2001 From: zhangjian <zhangjianrock@163.com> Date: 星期五, 07 七月 2023 16:31:40 +0800 Subject: [PATCH] 无人机转发接口 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java | 113 +++++++++++--------------------------------------------- 1 files changed, 23 insertions(+), 90 deletions(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java index 1b552c7..1dc3ebe 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java @@ -1,11 +1,15 @@ package com.ruoyi.quartz.task; +import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue; +import com.ruoyi.alarm.globalAlarm.domain.GuideTask; import com.ruoyi.alarm.globalAlarm.service.IGlobalAlarmService; import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec; import com.ruoyi.alarm.stealAlarm.service.IStealElecAlarmService; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.LonlatConver; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.websocket.util.WebSocketUtils; +import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -13,6 +17,7 @@ import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.PriorityBlockingQueue; import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; @@ -24,106 +29,34 @@ * @Version: 1.0 **/ @Component("AlarmTask") -@Slf4j(topic = "AlarmTask") +@Slf4j public class AlarmTask { - @Resource - IStealElecAlarmService IStealElecAlarmService; - @Resource - ISysUserService sysUserService; - @Resource - IGlobalAlarmService globalAlarmService; - /** - * @鎻忚堪 鐩楃數鎶ヨ瀹炴椂鎺ㄩ�佷换鍔� + * @鎻忚堪 瀹氭椂鎺ㄩ�佹墍鏈夋姤璀︾殑鐐逛綅鏁伴噺 * @鍙傛暟 [] * @杩斿洖鍊� void * @鍒涘缓浜� 鍒樿嫃涔� - * @鍒涘缓鏃堕棿 2023/3/6 15:10 + * @鍒涘缓鏃堕棿 2023/6/15 15:43 * @淇敼浜哄拰鍏跺畠淇℃伅 */ - public void stealElecAlarmPush() { - log.info("鐩楃數鎶ヨ鎺ㄩ�佸紑濮�"); - // 寮�濮嬫椂闂� - long stime = System.currentTimeMillis(); - try { - for (String userId : ONLINE_USER_SESSIONS.keySet()) { - SysUser sysUser = sysUserService.selectUserById(userId); - List<ArdAlarmStealelec> alarms = IStealElecAlarmService.getRealAlarm(sysUser.getDeptId()); - Map<String, Object> map = new HashMap<>(); - List<ArdAlarmStealelec> objs = new ArrayList<>(); - for (ArdAlarmStealelec data : alarms) { - - //缁忕含搴︾伀鏄熻浆84 - if (data.getLongitude() != 0 && data.getLatitude() != 0) { - double[] wgs84 = LonlatConver.gcj02_To_Wgs84(data.getLongitude(), data.getLatitude());//鐏槦杞�84 - data.setLongitude(wgs84[0]); - data.setLatitude(wgs84[1]); - } - - //鍒ゆ柇褰撳墠鏁版嵁鏄惁10S鍐� - Date startTime = data.getStartTime(); - SimpleDateFormat formatTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//HH鏄�24灏忔椂鍒讹紝12灏忔椂鐢╤h - Calendar calendar = Calendar.getInstance(); - //浠庡綋鍓嶆椂闂村噺鍘�10绉� - calendar.add(Calendar.MINUTE, -30); - String currentTime = formatTime.format(calendar.getTime()); - int dateFlag = formatTime.format(startTime).compareTo(currentTime); - if (dateFlag > 0) { - objs.add(data); - } - data.setId(data.getDescribe() + "&" + data.getCommand()); - } - if (objs.size() > 0) { - map.put("obj", objs); - } else { - map.put("obj", -1); - } - map.put("Command", 8000); - map.put("count", objs.size()); - map.put("total", alarms.size()); - map.put("data", alarms); - if (alarms.size() > 0) { - WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(userId), map); - } - } - } catch (Exception ex) { - log.error("鐩楃數鎶ヨ鎺ㄩ�佸紓甯革細" + ex.getMessage()); - } - // 缁撴潫鏃堕棿 - long etime = System.currentTimeMillis(); - // 璁$畻鎵ц鏃堕棿 - log.info("鐩楃數鎶ヨ鎺ㄩ�佺粨鏉燂細" + (etime - stime) + " 姣"); - } - - /** - * @鎻忚堪 鐩楃數鎶ヨapi鎷夊彇浠诲姟 - * @鍙傛暟 [] - * @杩斿洖鍊� void - * @鍒涘缓浜� 鍒樿嫃涔� - * @鍒涘缓鏃堕棿 2023/2/28 11:51 - * @淇敼浜哄拰鍏跺畠淇℃伅 - */ - public void stealElecAlarmPull() { - log.info("鐩楃數鏁版嵁鎷夊彇寮�濮�"); - // 寮�濮嬫椂闂� - long stime = System.currentTimeMillis(); - try { - // String url = "http://iot.zhdk.net:8090/Warning/GetWarning?userName=cy4oil"; - IStealElecAlarmService.getAlarmByApi(); - } catch (Exception ex) { - log.error("鐩楃數鏁版嵁鎷夊彇寮傚父锛�" + ex.getMessage()); - } - // 缁撴潫鏃堕棿 - long etime = System.currentTimeMillis(); - // 璁$畻鎵ц鏃堕棿 - log.info("鐩楃數鏁版嵁鎷夊彇缁撴潫锛�" + (etime - stime) + " 姣"); - } - public void globalAlarmCountPush() { - Map<String, Integer> stringIntegerMap = globalAlarmService.selectAlarmLogsCount(); + IGlobalAlarmService globalAlarmService = SpringUtils.getBean(IGlobalAlarmService.class); + Map<String, Object> stringIntegerMap = globalAlarmService.selectAlarmLogsCount(); if (ONLINE_USER_SESSIONS.size() > 0) { WebSocketUtils.sendMessageAll(stringIntegerMap); } } -} + /** + * 瀹氭椂娓呯┖寮曞闃熷垪 + * 鍒樿嫃涔� + * 2023/7/1 10:41 + */ + public void clearGuideQueue() { + log.info("瀹氭椂娓呯悊寮曞闃熷垪"); + for(PriorityBlockingQueue<GuideTask> guideQueue:GuidePriorityQueue.cameraQueueMap.values()) + { + guideQueue.clear(); + } + } +} \ No newline at end of file -- Gitblit v1.9.3