From a38cb5bb3898f8996321df8f8d537ea18f4af71f Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期五, 30 六月 2023 10:19:11 +0800
Subject: [PATCH] 优化

---
 ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java |   68 ++++++++++++++--------------------
 1 files changed, 28 insertions(+), 40 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
index 1a0e990..b90f567 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
@@ -344,7 +344,7 @@
                         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
@@ -357,26 +357,6 @@
                     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;
@@ -410,41 +390,36 @@
                             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());
+                            //鏈紩瀵艰秴杩�3娆★紝鐩存帴鍏ュ簱鍏ラ槦
                             if (count >= 3) {
-                                //鏈紩瀵艰秴杩�3娆★紝鐩存帴鍏ュ簱鍏ラ槦
-                                //5鍒嗛挓鍐呮湭寮曞鐩存帴鍏ュ簱
                                 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;
@@ -459,16 +434,29 @@
     /**
      * 娑堟伅鍏ラ槦
      */
-    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);
-        queueManager.addTaskToQueue(cameraId,guideTask);
+        /*閰嶇疆褰曞儚瀛樺偍浣嶇疆*/
+        guideTask.setRecordSn(recordSn);
+        /*娑堟伅鍏ラ槦*/
+        queueManager.addTaskToQueue(cameraId, guideTask);
 //        PriorityBlockingQueue<GuideTask> priorityBlockingQueue = GuidePriorityQueue.cameraQueueMap.get(guideTask.getCameraId());
 //        priorityBlockingQueue.add(guideTask);
     }

--
Gitblit v1.9.3