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