From 0ee44e75029923734744628a8b059fa41ff3ef55 Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: Sat, 05 Aug 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");//从redis中取出最新引导的报警数据
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