| | |
| | | log.debug("tube入库成功:" + ardAlarmTube); |
| | | String nearbyCamera = getNearbyCamera(new double[]{ardAlarmTube.getLongitude(), ardAlarmTube.getLatitude()}); |
| | | if (StringUtils.isNotEmpty(nearbyCamera)) { |
| | | messagesEnqueued(nearbyCamera, ardAlarmTube.getId(), "sys_tube_leak", ardAlarmTube.getAlarmTime(), 1); |
| | | messagesEnqueued(nearbyCamera, ardAlarmTube.getId(), "sys_tube_leak", ardAlarmTube.getAlarmTime(), 1,1); |
| | | } |
| | | } |
| | | //endregion |
| | |
| | | int aac = ardAlarmCameraMapper.insertArdAlarmCamera(ardAlarmCamera); |
| | | if (aac > 0) { |
| | | log.debug("camera入库成功:" + ardAlarmCamera); |
| | | String nearbyCamera = getNearbyCamera(new double[]{ardAlarmCamera.getLongitude(), ardAlarmCamera.getLatitude()}); |
| | | if (StringUtils.isNotEmpty(nearbyCamera)) { |
| | | messagesEnqueued(nearbyCamera, ardAlarmCamera.getId(), "sys_camera", ardAlarmCamera.getAlarmTime(), 1); |
| | | } |
| | | //引导录像 |
| | | // CameraCmd cmd = new CameraCmd(); |
| | | // cmd.setRecordBucketName("record"); |
| | | // cmd.setRecordObjectName("camera"); |
| | | // cmd.setOperator("sys_camera"); |
| | | // cmd.setExpired(30); |
| | | // cmd.setTargetPosition(new double[]{ardAlarmCamera.getLongitude(), ardAlarmCamera.getLatitude()}); |
| | | // boolean res = guideCamera(cmd); |
| | | // if (res) { |
| | | // String url = alarmToRecord(cmd); |
| | | // if (StringUtils.isNotEmpty(url)) { |
| | | // //更新录像 |
| | | // ardAlarmCamera.setRecordUrl(url); |
| | | // ardAlarmCameraMapper.updateArdAlarmCamera(ardAlarmCamera); |
| | | // } |
| | | // } |
| | | } |
| | | //endregion |
| | | break; |
| | |
| | | String cameraIdWithTower = ardAlarmRadarMapper.getCameraByRadar(radarAlarmData.getRadarId()); |
| | | if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) { |
| | | //入队列待引导 |
| | | messagesEnqueued(cameraIdWithTower, uuid, alarmType, ardAlarmRadar.getAlarmTime(), 1); |
| | | messagesEnqueued(cameraIdWithTower, uuid, alarmType, ardAlarmRadar.getAlarmTime(), 1,1); |
| | | } |
| | | } else { |
| | | //5分钟内有引导 |
| | | ardAlarmRadar.setGuideFlag(0); |
| | | int count = ardAlarmRadarMapper.getArdAlarmRadarWithNotGuide(ardAlarmRadar, AlarmRadar.getCreateTime()); |
| | | if (count >= 3) { |
| | | //未引导超过3次,直接入库入队 |
| | | //5分钟内未引导直接入库 |
| | | if (count >= 3) { |
| | | ardAlarmRadar.setGuideFlag(1); |
| | | ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar); |
| | | //入队列待引导 |
| | | |
| | | //获取雷达所在塔上的大光电 |
| | | String cameraIdWithTower = ardAlarmRadarMapper.getCameraByRadar(radarAlarmData.getRadarId()); |
| | | if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) { |
| | | //如果雷达塔上有光电 |
| | | messagesEnqueued(cameraIdWithTower, uuid, alarmType, ardAlarmRadar.getAlarmTime(), count); |
| | | messagesEnqueued(cameraIdWithTower, uuid, alarmType, ardAlarmRadar.getAlarmTime(), count,1); |
| | | } |
| | | //获取报警点关联的大光电 |
| | | ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(ardAlarmRadar.getName()); |
| | | if(StringUtils.isNotNull(ardAlarmpointsWell) && StringUtils.isNotEmpty(ardAlarmpointsWell.getCameraId())) |
| | | { |
| | | String cameraId = ardAlarmpointsWell.getCameraId(); |
| | | //如果报警点关联了光电 |
| | | messagesEnqueued(cameraId, uuid, alarmType, ardAlarmRadar.getAlarmTime(), count,1); |
| | | } |
| | | } else { |
| | | //未引导未超过3次,直接入库 |
| | | ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | //获取兴趣点关联的大光电 |
| | | // ArdAlarmpointsWell well=new ArdAlarmpointsWell(); |
| | | // well.setWellId(ardAlarmRadar.getName()); |
| | | // List<ArdAlarmpointsWell> ardAlarmpointsWells = ardAlarmpointsWellMapper.selectArdAlarmpointsWellList(well); |
| | | // if(ardAlarmpointsWells!=null&&ardAlarmpointsWells.size()>0) |
| | | // { |
| | | // String cameraIdWithWell = ardAlarmpointsWells.get(0).getCameraId(); |
| | | // } |
| | | |
| | | } |
| | | //endregion |
| | | break; |
| | |
| | | /** |
| | | * 消息入队 |
| | | */ |
| | | private void messagesEnqueued (String cameraId, String alarmId, String alarmType, Date alarmTime, Integer num) { |
| | | private void messagesEnqueued(String cameraId, String alarmId, String alarmType, Date alarmTime, Integer num, Integer recordSn) { |
| | | |
| | | GuideTask guideTask = new GuideTask(); |
| | | /*配置相机ID*/ |
| | | guideTask.setCameraId(cameraId); |
| | | /*根据配置时间配置通道*/ |
| | | String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime"); |
| | | Integer channel = ArdTool.getChannelBydayNightTime(dayNightTime); |
| | | guideTask.setChanNum(channel); |
| | | /*配置报警ID*/ |
| | | guideTask.setAlarmId(alarmId); |
| | | /*配置报警时间*/ |
| | | SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | guideTask.setAlarmTime(fmt.format(alarmTime)); |
| | | /*配置报警优先级*/ |
| | | Integer priority = CamPriority.priorityMap.get(alarmType); |
| | | guideTask.setPriority(priority); |
| | | /*配置报警次数*/ |
| | | guideTask.setNum(num); |
| | | /*配置录像存储位置*/ |
| | | guideTask.setRecordSn(recordSn); |
| | | /*消息入队*/ |
| | | queueManager.addTaskToQueue(cameraId,guideTask); |
| | | // PriorityBlockingQueue<GuideTask> priorityBlockingQueue = GuidePriorityQueue.cameraQueueMap.get(guideTask.getCameraId()); |
| | | // priorityBlockingQueue.add(guideTask); |