From 0ee44e75029923734744628a8b059fa41ff3ef55 Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: 星期六, 05 八月 2023 10:48:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ard-work/src/main/java/com/ruoyi/alarm/config/AsyncConfiguration.java                  |   42 ++++++++-------------
 ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java                              |    2 
 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java |   21 ++++++----
 ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java                          |   21 +++++-----
 ruoyi-admin/src/main/resources/logback.xml                                             |   15 +++++++
 ruoyi-admin/src/main/resources/application-ard.yml                                     |   11 ++++-
 ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java                    |    6 ++-
 7 files changed, 69 insertions(+), 49 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/config/AsyncConfiguration.java b/ard-work/src/main/java/com/ruoyi/alarm/config/AsyncConfiguration.java
index 4052c82..f3b8be4 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/config/AsyncConfiguration.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/config/AsyncConfiguration.java
@@ -1,11 +1,14 @@
 package com.ruoyi.alarm.config;
 
+import com.google.errorprone.annotations.Var;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 
 import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
 
 /**
  * @ClassName: AsyncConfiguration
@@ -17,44 +20,31 @@
 @Configuration
 @EnableAsync(proxyTargetClass = true)
 public class AsyncConfiguration {
-    @Bean("loginExecutor")
-    public Executor executor(){
-        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
-        //閰嶇疆鏍稿績绾跨▼鏁�
-        executor.setCorePoolSize(15);
-        //閰嶇疆鏈�澶х嚎绋嬫暟
-        executor.setMaxPoolSize(30);
-        //閰嶇疆闃熷垪澶у皬
-        executor.setQueueCapacity(1000);
-        //绾跨▼鐨勫悕绉板墠缂�
-        executor.setThreadNamePrefix("loginExecutor-");
-        //绾跨▼娲昏穬鏃堕棿锛堢锛�
-        //executor.setKeepAliveSeconds(60);
-        //绛夊緟鎵�鏈変换鍔$粨鏉熷悗鍐嶅叧闂嚎绋嬫睜
-        executor.setWaitForTasksToCompleteOnShutdown(true);
-        //璁剧疆鎷掔粷绛栫暐
-        //executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
-        //鎵ц鍒濆鍖�
-        executor.initialize();
-        return executor;
-    }
+    @Value("${ThreadPoolTask.corePoolSize}")
+    Integer corePoolSize;
+    @Value("${ThreadPoolTask.maxPoolSize}")
+    Integer maxPoolSize;
+    @Value("${ThreadPoolTask.keepAliveSeconds}")
+    Integer keepAliveSeconds;
+    @Value("${ThreadPoolTask.queueCapacity}")
+    Integer queueCapacity;
     @Bean("alarmExecutor")
     public Executor alarmExecutor(){
         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
         //閰嶇疆鏍稿績绾跨▼鏁�
-        executor.setCorePoolSize(15);
+        executor.setCorePoolSize(corePoolSize);
         //閰嶇疆鏈�澶х嚎绋嬫暟
-        executor.setMaxPoolSize(30);
+        executor.setMaxPoolSize(maxPoolSize);
         //閰嶇疆闃熷垪澶у皬
-        executor.setQueueCapacity(1000);
+        executor.setQueueCapacity(queueCapacity);
         //绾跨▼鐨勫悕绉板墠缂�
         executor.setThreadNamePrefix("alarmExecutor-");
         //绾跨▼娲昏穬鏃堕棿锛堢锛�
-        //executor.setKeepAliveSeconds(60);
+        executor.setKeepAliveSeconds(keepAliveSeconds);
         //绛夊緟鎵�鏈変换鍔$粨鏉熷悗鍐嶅叧闂嚎绋嬫睜
         executor.setWaitForTasksToCompleteOnShutdown(true);
         //璁剧疆鎷掔粷绛栫暐
-        //executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
         //鎵ц鍒濆鍖�
         executor.initialize();
         return executor;
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
index 074021f..6d761a0 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -544,14 +544,12 @@
 
                         //鍒ゆ柇褰撳墠鎶ヨ鐐�5鍒嗛挓鍐呮槸鍚﹀凡寮曞
                         ardAlarmRadar.setGuideFlag(1);
-                        ArdAlarmRadar AlarmRadar = ardAlarmRadarMapper.getArdAlarmRadarWithGuide(ardAlarmRadar);
-                        // 缁撴潫鏃堕棿
-                        long etime = System.currentTimeMillis();
-                        // 璁$畻鎵ц鏃堕棿
-                        log.info("鏌ヨAPI鎵ц鏃堕暱锛�"+(etime-stime)+"姣");
+                       // ArdAlarmRadar AlarmRadar = ardAlarmRadarMapper.getArdAlarmRadarWithGuide(ardAlarmRadar);
+                        ArdAlarmRadar AlarmRadar = redisCache.getCacheObject("global_alarm:guideNew");//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁
                         if (StringUtils.isNull(AlarmRadar)) {
                             //5鍒嗛挓鍐呮湭寮曞鐩存帴鍏ュ簱
                             ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar);
+                            redisCache.setCacheObject("global_alarm:guideNew",ardAlarmRadar);//寮曞鏁版嵁鍐欏叆redis
                             //鑾峰彇闆疯揪鎵�鍦ㄥ涓婄殑澶у厜鐢�
                             String cameraIdWithTower = ardAlarmRadarMapper.getCameraByRadar(radarAlarmData.getRadarId());
                             if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) {
@@ -563,7 +561,7 @@
                             ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName);
                             if (StringUtils.isNotNull(ardAlarmpointsWell) && StringUtils.isNotEmpty(ardAlarmpointsWell.getCameraId())) {
                                 String cameraId = ardAlarmpointsWell.getCameraId();
-                                if (cameraIdWithTower.equals(cameraId)) {
+                                if (cameraId.equals(cameraIdWithTower)) {
                                     return;
                                 }
                                 log.info("鑾峰彇鍒版姤璀︾偣鍏宠仈鐨勫厜鐢�:" + cameraId);
@@ -578,6 +576,7 @@
                             if (count >= 3) {
                                 ardAlarmRadar.setGuideFlag(1);
                                 ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar);
+                                redisCache.setCacheObject("global_alarm:guideNew",ardAlarmRadar);//寮曞鏁版嵁鍐欏叆redis
                                 //鑾峰彇闆疯揪鎵�鍦ㄥ涓婄殑澶у厜鐢�
                                 String cameraIdWithTower = ardAlarmRadarMapper.getCameraByRadar(radarAlarmData.getRadarId());
                                 if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) {
@@ -601,6 +600,10 @@
                                 ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar);
                             }
                         }
+                        // 缁撴潫鏃堕棿
+                        long etime = System.currentTimeMillis();
+                        // 璁$畻鎵ц鏃堕棿
+                        log.info("鏌ヨAPI鎵ц鏃堕暱锛�"+(etime-stime)+"姣");
                     }
 
                     //endregion
@@ -736,8 +739,10 @@
     private Boolean IsEnableGuide(String cameraId) {
         boolean enabled = false;
         ArdCameras ardCameras = redisCache.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
-        if (ardCameras.getCamAlarmGuideEnable().equals(1)) {
-            enabled = true;
+        if(ardCameras!=null) {
+            if (ardCameras.getCamAlarmGuideEnable().equals(1)) {
+                enabled = true;
+            }
         }
         return enabled;
     }
diff --git a/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java b/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
index 5af9367..783e0c0 100644
--- a/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
+++ b/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
@@ -5,6 +5,7 @@
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.utils.forest.UavClient;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.binary.Base64;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
@@ -21,6 +22,7 @@
 import java.util.Map;
 
 @Service
+@Slf4j(topic = "uav")
 public class UavService {
     public static final String USERNAME = "ardbailu";//鐢ㄦ埛鍚�
     public static final String PASSWORD = "ardkj12345";//瀵嗙爜
@@ -70,14 +72,14 @@
     }
 
     public Map getUavUser() {
-        if (this.uavUser==null){
+        if (this.uavUser == null) {
             this.login();
         }
         return this.uavUser;
     }
 
     public void login() {
-        System.out.println("鐧诲綍鏃犱汉鏈哄閮ㄦ帴鍙�");
+        log.debug("鐧诲綍鏃犱汉鏈哄閮ㄦ帴鍙�");
         String codedPassword = this.Encrypt(PASSWORD, SALT);
         String body = "{\"username\":\"" + USERNAME + "\",\"password\":\"" + codedPassword + "\"}";
         try {
diff --git a/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java b/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java
index e146beb..4f6fa2e 100644
--- a/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java
+++ b/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java
@@ -15,17 +15,18 @@
 public class ReadAccessDatabase {
 
     public static void main(String[] args) {
-        // 澶氫釜鏁版嵁搴撴枃浠惰矾寰�
-        String[] dbPaths = {
-                "D:\\mdb\\閬撹矾涓績绾�.mdb",
-                "D:\\mdb\\闃查鏋�-鐏屾湪.mdb",
-                // 娣诲姞鏇村鐨勬暟鎹簱鏂囦欢璺緞
-        };
 
-        // 閬嶅巻姣忎釜鏁版嵁搴撴枃浠�
-        for (String dbPath : dbPaths) {
-            readDataFromAccessDatabase(dbPath);
-        }
+//        // 澶氫釜鏁版嵁搴撴枃浠惰矾寰�
+//        String[] dbPaths = {
+//                "D:\\mdb\\閬撹矾涓績绾�.mdb",
+//                "D:\\mdb\\闃查鏋�-鐏屾湪.mdb",
+//                // 娣诲姞鏇村鐨勬暟鎹簱鏂囦欢璺緞
+//        };
+//
+//        // 閬嶅巻姣忎釜鏁版嵁搴撴枃浠�
+//        for (String dbPath : dbPaths) {
+//            readDataFromAccessDatabase(dbPath);
+//        }
     }
 
     public static void readDataFromAccessDatabase(String dbPath) {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index 957176f..1dd95b9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -19,7 +19,7 @@
 {
     public static void main(String[] args)
     {
-        // System.setProperty("spring.devtools.restart.enabled", "false");
+        System.setProperty("spring.devtools.restart.enabled", "false");//鍏抽棴鐑儴缃�
         SpringApplication.run(RuoYiApplication.class, args);
         System.out.println("(鈾モ棤鈥库棤)锞夛緸  瀹夌憺杈�4.0骞冲彴鍚姩鎴愬姛   醿�(麓凇`醿�)锞�  \n" +
                 "      ___           ___                               \n" +
diff --git a/ruoyi-admin/src/main/resources/application-ard.yml b/ruoyi-admin/src/main/resources/application-ard.yml
index a1e898d..1c15525 100644
--- a/ruoyi-admin/src/main/resources/application-ard.yml
+++ b/ruoyi-admin/src/main/resources/application-ard.yml
@@ -37,7 +37,14 @@
   clientId: m3
   username: admin
   password: xzx12345
-  topic: apponekey
+  topic: apponekey,radar
   timeout: 100
   keepalive: 60
-  enabled: true
\ No newline at end of file
+  enabled: true
+
+#寮傛绾跨▼姹犻厤缃�
+ThreadPoolTask:
+  corePoolSize: 20
+  maxPoolSize: 40
+  keepAliveSeconds: 300
+  queueCapacity: 50
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index d3d3d31..55a35f3 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -198,6 +198,18 @@
             <pattern>${log.pattern}</pattern>
         </encoder>
     </appender>
+    <appender name="uav" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}/uav.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!--鎸夊ぉ鍥炴粴daily-->
+            <fileNamePattern>${log.path}/uav.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+            <maxHistory>60</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+    </appender>
     <!-- 绯荤粺妯″潡鏃ュ織绾у埆鎺у埗  -->
     <logger name="com.ruoyi" level="info"/>
     <!-- Spring鏃ュ織绾у埆鎺у埗  -->
@@ -256,4 +268,7 @@
     <logger name="cmd" level="DEBUG">
         <appender-ref ref="cmd"/>
     </logger>
+    <logger name="uav" level="DEBUG">
+        <appender-ref ref="uav"/>
+    </logger>
 </configuration> 
\ No newline at end of file

--
Gitblit v1.9.3