‘liusuyi’
2024-03-08 f911f720666f340bcdca69863e42bce5b372cd4c
增加报警引导成功websocket通知前端标识:70000
已修改7个文件
51 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java
@@ -45,4 +45,9 @@
     * 引导目标经纬度
     */
    double[] targetPosition;
    /**
     * 井号
     */
    String wellId;
}
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -1086,6 +1086,7 @@
                                ardAlarmRadarMove.setLatitude(latitude);
                                ardAlarmRadarMove.setUpdateTime(radarAlarmData.getAlarmTime());
                                ardAlarmRadarMove.setRadarId(radarId);
                                ardAlarmRadarMove.setWellId(well.getWellId());
                                ardAlarmRadarMoveHandler(ardAlarmRadarMove);
                                break;
                            case "热源检测":
@@ -1100,6 +1101,7 @@
                                ardAlarmRadarFire.setLatitude(latitude);
                                ardAlarmRadarFire.setRadarId(radarId);
                                ardAlarmRadarFire.setUpdateTime(radarAlarmData.getAlarmTime());
                                ardAlarmRadarFire.setWellId(well.getWellId());
                                ardAlarmRadarFireHandler(ardAlarmRadarFire);
                                break;
                            case "雷达抽油机停机":
@@ -1114,6 +1116,7 @@
                                ardAlarmRadarPump.setUpdateTime(radarAlarmData.getAlarmTime());
                                ardAlarmRadarPump.setLongitude(well.getLongitude());
                                ardAlarmRadarPump.setLatitude(well.getLatitude());
                                ardAlarmRadarPump.setWellId(well.getWellId());
                                ardAlarmRadarPumpHandler(ardAlarmRadarPump);
                                break;
                        }
@@ -1279,7 +1282,8 @@
                return;
            }
            guideTask.setPriority(Integer.valueOf(priority));
            guideTask.setTargetPosition(guideDataDto.getTargetPosition());//引导井ID
            guideTask.setTargetPosition(guideDataDto.getTargetPosition());//引导井坐标
            guideTask.setWellId(guideDataDto.getWellId());//引导井ID
            //消息入队
            queueHandler.addTaskToQueue(cameraId, guideTask);
            //打印队列
@@ -1379,6 +1383,7 @@
                .setAlarmId(ardAlarmRadarMove.getId())
                .setAlarmType(ardAlarmRadarMove.getAlarmType())
                .setReceiveTime(ardAlarmRadarMove.getCreateTime())
                .setWellId(ardAlarmRadarMove.getWellId())
                .setTargetPosition(coordinate);
        getCameraGuideToQueue(guideDataDto);//获取相机入队
    }
@@ -1402,6 +1407,7 @@
                .setAlarmId(ardAlarmRadarFire.getId())
                .setAlarmType(ardAlarmRadarFire.getAlarmType())
                .setReceiveTime(ardAlarmRadarFire.getCreateTime())
                .setWellId(ardAlarmRadarFire.getWellId())
                .setTargetPosition(coordinate);
        getCameraGuideToQueue(guideDataDto);//获取相机入队
    }
@@ -1426,6 +1432,7 @@
                .setAlarmId(ardAlarmRadarPump.getId())
                .setAlarmType(ardAlarmRadarPump.getAlarmType())
                .setReceiveTime(ardAlarmRadarPump.getCreateTime())
                .setWellId(ardAlarmRadarPump.getWellId())
                .setTargetPosition(coordinate);
        getCameraGuideToQueue(guideDataDto);//获取相机入队
    }
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java
@@ -1,5 +1,6 @@
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;
@@ -23,6 +24,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 +35,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: 队列处理器
@@ -108,6 +112,17 @@
            boolean guideRes = cameraSdkService.guideTargetPosition(cmd);
            if (guideRes) {
                log.debug("引导成功");
                //region 通知前端
                Map<String,Object> message = new HashMap<>();
                Map<String,String> data = new HashMap<>();
                data.put("cameraId",cmd.getCameraId());
                data.put("chanNo",cmd.getChanNo().toString());
                data.put("alarmType",cmd.getOperator());
                data.put("alarmId", guideTask.getAlarmId());
                data.put("wellId",guideTask.getWellId());
                message.put("70000",data);
                WebSocketUtils.sendMessageAll(message);
                //endregion
                cameraSdkService.controlLock(cmd);//上锁
                cameraSdkService.recordStart(cmd);//开始录像
                recordFlag = true;
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java
@@ -79,5 +79,8 @@
     * 雷达ID
     */
    private String radarId;
    /**
     * 井号
     */
    private String wellId;
}
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java
@@ -79,5 +79,9 @@
     * 雷达ID
     */
    private String RadarId;
    /**
     * 井号
     */
    private String wellId;
}
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java
@@ -103,6 +103,9 @@
     * 雷达ID
     */
    private String radarId;
    /**
     * 井号
     */
    private String wellId;
}
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -373,6 +373,14 @@
        List<DeptAndCamerasDto> deptAndCamerasList = sysDepts.stream()
                .map(sysDept -> {
                    List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasByDeptId(sysDept.getDeptId());
                    ardCameras.stream().forEach(ardCamera ->{
                        ArdChannel  ardChannel = new ArdChannel();
                        ardChannel.setDeviceId(ardCamera.getId());
                        List<ArdChannel> ardChannels = ardChannelMapper.selectArdChannelList(ardChannel);
                        if (ardChannels != null) {
                            ardCamera.setChannelList(ardChannels);
                        }
                    });
                    DeptAndCamerasDto deptAndCamerasDto = new DeptAndCamerasDto();
                    deptAndCamerasDto.setSysDept(sysDept);
                    deptAndCamerasDto.setArdCamerasList(ardCameras);