From 024c9f73fce8ab5f94c3af0c237bcf102a547766 Mon Sep 17 00:00:00 2001 From: dcb <xgybdcb@163.com> Date: 星期三, 25 六月 2025 17:09:11 +0800 Subject: [PATCH] 将实时模拟的帧数调整为可配置参数 --- src/main/java/com/se/nsl/service/RealTimeSimulationService.java | 16 ++++++++-------- src/main/java/com/se/nsl/config/RealTimeSimulationConfig.java | 13 +++++++++++-- src/main/resources/application-dev.yml | 3 ++- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/se/nsl/config/GaugeServer.java b/src/main/java/com/se/nsl/config/RealTimeSimulationConfig.java similarity index 75% rename from src/main/java/com/se/nsl/config/GaugeServer.java rename to src/main/java/com/se/nsl/config/RealTimeSimulationConfig.java index 1cb1fd4..f85f573 100644 --- a/src/main/java/com/se/nsl/config/GaugeServer.java +++ b/src/main/java/com/se/nsl/config/RealTimeSimulationConfig.java @@ -4,11 +4,12 @@ import org.springframework.context.annotation.Configuration; @Configuration -@ConfigurationProperties(prefix = "gauge-server") -public class GaugeServer { +@ConfigurationProperties(prefix = "realtime-simulate-config") +public class RealTimeSimulationConfig { private String url; private String token; + private int realTimeInterval; private int requestOffsetMinutes; //闆ㄩ噺璁¤姹傞棿闅旂殑鏃堕棿锛屼负浜嗕究浜庤幏鍙栦竴涓寖鍥村唴闆ㄩ噺鏁版嵁 private double offsetDays; @@ -28,6 +29,14 @@ this.token = token; } + public int getRealTimeInterval() { + return realTimeInterval; + } + + public void setRealTimeInterval(int realTimeInterval) { + this.realTimeInterval = realTimeInterval; + } + public int getRequestOffsetMinutes() { return requestOffsetMinutes; } diff --git a/src/main/java/com/se/nsl/service/RealTimeSimulationService.java b/src/main/java/com/se/nsl/service/RealTimeSimulationService.java index c835224..404d4c3 100644 --- a/src/main/java/com/se/nsl/service/RealTimeSimulationService.java +++ b/src/main/java/com/se/nsl/service/RealTimeSimulationService.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; -import com.se.nsl.config.GaugeServer; +import com.se.nsl.config.RealTimeSimulationConfig; import com.se.nsl.config.PropertiesConfig; import com.se.nsl.domain.dto.*; import com.se.nsl.domain.po.RainGauge; @@ -47,7 +47,7 @@ private final ObjectMapper mapper = new ObjectMapper(); @Resource - private GaugeServer gaugeServer; + private RealTimeSimulationConfig rtsConfig; private static final long MILLIS_OF_ONE_DAY = 86400000; public String realTimeSimulate(Simu simu) throws IOException { @@ -71,7 +71,7 @@ } private long getCurrentTime() { - double offsetDays = gaugeServer.getOffsetDays(); + double offsetDays = rtsConfig.getOffsetDays(); long millis = (long) (offsetDays * MILLIS_OF_ONE_DAY); return System.currentTimeMillis() - millis; } @@ -186,7 +186,7 @@ configVo.setStation(stationFile.getAbsolutePath()); } int realTimeSimulateTime = 300; //妯℃嫙鏃堕棿锛岄粯璁や负5min锛屽嵆300s - int realTimeInterval = 60; //姣忓抚鐨勯棿闅旀椂闂达紝榛樿涓�60s,60s鐢熸垚涓�甯� + int realTimeInterval = rtsConfig.getRealTimeInterval(); //姣忓抚鐨勯棿闅旀椂闂� List<String> rainGauge = new ArrayList<>(); rainGauge.add(newDatFile.getAbsolutePath());//raingage file rainGauge.add("mm/min"); @@ -211,7 +211,7 @@ configVo.setStation(stationFile.getAbsolutePath()); } int realTimeSimulateTime = 300; //妯℃嫙鏃堕棿锛岄粯璁や负5min锛屽嵆300s - int realTimeInterval = 60; //姣忓抚鐨勯棿闅旀椂闂达紝榛樿涓�60s,60s鐢熸垚涓�甯� + int realTimeInterval = rtsConfig.getRealTimeInterval(); //姣忓抚鐨勯棿闅旀椂闂� configVo.getRaingage().set(0, newDatFile.getAbsolutePath()); //raingage file ResultVo result = configVo.getResult(); Integer lastFrames = result.getLastFrames(); @@ -259,7 +259,7 @@ int hour = dateTime.getHour(); int minute = dateTime.getMinute(); String id = gauge.getId(); - long someMinutesAgo = currentTime - TimeUnit.MINUTES.toMillis(gaugeServer.getRequestOffsetMinutes()); + long someMinutesAgo = currentTime - TimeUnit.MINUTES.toMillis(rtsConfig.getRequestOffsetMinutes()); String startTime = TimeFormatUtil.formatTime(someMinutesAgo, YYYY_MM_DD_HH_MM_SS); String endTime = TimeFormatUtil.formatTime(currentTime, YYYY_MM_DD_HH_MM_SS); double intensity = getIntensityByDeviceId(id, startTime, endTime); //淇濈暀鎸囧畾浣嶆暟灏忔暟 @@ -276,8 +276,8 @@ filterObject.setDeviceCode(deviceId); filterObject.setSendTimeList(Arrays.asList(startTime, endTime)); input.setFilterObject(filterObject); - String url = gaugeServer.getUrl(); - String token = gaugeServer.getToken(); + String url = rtsConfig.getUrl(); + String token = rtsConfig.getToken(); ResponseEntity<String> post = HttpRequestUtil.post(url, input, String.class, token); String body = post.getBody(); JsonNode jsonNode = mapper.readTree(body); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index e2b3ccf..818ca20 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -170,9 +170,10 @@ tifPath: D:\other\simu\uwsolver\5ca43c87cd8e48c5a9c5399a5da46dbc\tongzhou_raster_4548_1m_clip_river_fill.tif #tif涓殑楂樼▼鏂囦欢鍚嶈鍚湁dem锛屽湡鍦板埄鐢ㄨ鍚湁landuse锛岀珯鐐硅鍚湁station锛屼笉闄愬埗澶у皬鍐欙紝鏂囧瓧灏介噺鐢ㄨ嫳鏂囧瓧姣嶈〃杈� keyDitch: D:\other\simu\CudaUWSolver-2.2.1\KeyDitch -gauge-server: +realtime-simulate-config: url: http://192.168.56.106:9522/ylclyPacket/getData token: YjhhYjAwOWFhMjk1MTM1ZDA0NGU3ZWZlMDQzMzUzZDE1MGJmY2Q4ZWEyYjliNjQzZjcwMjhlNDY0ZjAxNWZjOTZmNzMwYmNmZDA2YmVmNTIzNjU0ZDgzODRjYTUxYTM1 + realTimeInterval: 5 #璇锋眰闆ㄩ噺璁℃暟鎹椂锛屾椂闂磋寖鍥寸浉宸灏戝垎閽� requestOffsetMinutes: 10 #寰�鍓嶅亸绉诲灏戝ぉ锛屼负浜嗘柟渚垮疄鏃舵ā鎷熶互鍓嶇殑闄嶉洦鎯呭喌,璁剧疆涓�0琛ㄧず锛屼粠褰撳墠鏃堕棿寮�濮嬭绠� -- Gitblit v1.9.3