From 6bce1b35246ed695a4272c24254c7073a524818a Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期二, 30 七月 2024 13:33:12 +0800 Subject: [PATCH] 电磁锁查询加入状态修改提交 --- ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 55 insertions(+), 3 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java index 9d5fe47..3ffd02d 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java @@ -1,9 +1,11 @@ package com.ruoyi.alarm.global.service.impl; +import com.alibaba.fastjson.JSON; import com.ruoyi.alarm.access.domain.ArdAlarmAccess; import com.ruoyi.alarm.access.service.IArdAlarmAccessService; import com.ruoyi.alarm.external.domain.ArdAlarmExternal; import com.ruoyi.alarm.external.service.IArdAlarmExternalService; +import com.ruoyi.alarm.global.domain.GuidePoint; import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire; @@ -23,6 +25,7 @@ import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.ICameraSdkService; +import com.ruoyi.utils.websocket.util.WebSocketUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; @@ -33,6 +36,8 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.*; + +import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * @Description: 闃熷垪澶勭悊鍣� @@ -87,6 +92,7 @@ } } } + //寮傛澶勭悊浠诲姟 public void processTask(GuideTask guideTask) { try { @@ -99,19 +105,44 @@ cmd.setChanNo(guideTask.getChanNo()); cmd.setOperator(guideTask.getAlarmType()); cmd.setExpired(30); + Map<String, Double> ptzMap=new HashMap<>(); + if(guideTask.getTargetPTZ()!=null) { + if (guideTask.getChanNo() == 1) { + ptzMap.put("p", guideTask.getTargetPTZ().getP1()); + ptzMap.put("t", guideTask.getTargetPTZ().getT1()); + ptzMap.put("z", guideTask.getTargetPTZ().getZ1()); + } + if (guideTask.getChanNo() == 2) { + ptzMap.put("p", guideTask.getTargetPTZ().getP2()); + ptzMap.put("t", guideTask.getTargetPTZ().getT2()); + ptzMap.put("z", guideTask.getTargetPTZ().getZ2()); + } + cmd.setPtzMap(ptzMap); + } cmd.setRecordBucketName("record"); - cmd.setTargetPosition(guideTask.getTargetPosition()); - cmd.setRecordObjectName("alarmGuide/"+ DateUtils.getDateYYYYMMDD()+"/"+guideTask.getAlarmType()+"/"+guideTask.getAlarmId()); + GuidePoint targetPosition = guideTask.getTargetPosition(); + cmd.setTargetPosition(new double[]{targetPosition.getLongitude(),targetPosition.getLatitude()}); + cmd.setRecordObjectName("alarmGuide/" + DateUtils.getDateYYYYMMDD() + "/" + guideTask.getAlarmType() + "/" + guideTask.getAlarmId()); ICameraSdkService cameraSdkService = SpringUtils.getBean(ICameraSdkService.class); log.debug("寮�濮嬪紩瀵�"); boolean recordFlag = false; - boolean guideRes = cameraSdkService.guideTargetPosition(cmd); + boolean guideRes = false; + if (guideTask.getIsGuidePTZ()) { + AjaxResult result = cameraSdkService.setPtz(cmd); + if (result.get("code").equals(200)) { + guideRes = true; + } + } else { + AjaxResult result = cameraSdkService.guideTargetPosition(cmd); + guideRes = result.get("code").equals(200); + } if (guideRes) { log.debug("寮曞鎴愬姛"); cameraSdkService.controlLock(cmd);//涓婇攣 cameraSdkService.recordStart(cmd);//寮�濮嬪綍鍍� recordFlag = true; Instant startTime = Instant.now(); + Instant startTime1 = startTime; while (recordFlag) { //鍒ゆ柇鏃堕棿 Instant currentTime = Instant.now(); @@ -131,6 +162,27 @@ recordFlag = false;//褰曞儚鍋滄 } } + //region 閫氱煡鍓嶇 + long seconds = Duration.between(startTime1, currentTime).getSeconds(); + // 鍒ゆ柇褰撳墠鏃堕棿涓庝笂娆″彂閫佹暟鎹殑鏃堕棿闂撮殧鏄惁瓒呰繃2绉� + if (seconds == 2) { + Map<String, Object> message = new HashMap<>(); + Map<String, String> data = new HashMap<>(); + data.put("cameraId", cmd.getCameraId()); + data.put("wellId", guideTask.getWellId()); + switch (guideTask.getAlarmType()) + { + case "sys_radar_move":data.put("type", "闆疯揪绉诲姩鎶ヨ");break; + case "sys_radar_fire":data.put("type", "绾㈠闃茬伀鎶ヨ");break; + case "sys_radar_pump":data.put("type", "鎶芥补鏈哄仠鏈烘姤璀�");break; + default:data.put("type", "闆疯揪鎶ヨ");break; + } + + message.put("70000", data); + WebSocketUtils.sendMessageAll(message); + startTime1 = currentTime; // 鏇存柊涓婃鍙戦�佹暟鎹殑鏃堕棿鎴� + } + //endregion } if (StringUtils.isNotEmpty(url)) { switch (guideTask.getAlarmType()) { -- Gitblit v1.9.3