From 68453a6a10353d527780347decad8d49451c0291 Mon Sep 17 00:00:00 2001 From: "zhczyx@163.com" Date: Fri, 16 Jan 2026 15:18:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0trendLog=E5=8D=95=E6=9D=A1?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E7=9A=84=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E8=BD=AC=E5=8F=91=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../receiver/config/DataCenterEnvConfig.java | 9 +++++++- .../receiver/service/DataTransService.java | 23 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java b/src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java index 5885559..567247a 100644 --- a/src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java +++ b/src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java @@ -26,7 +26,10 @@ public class DataCenterEnvConfig { @Value("${data.center.ioserver_process.api:#{'/v1/generic/ioserver_process'}}") private String processIoserverUrl; - @Value("${data.center.ioserver_process.api:#{'/v1/generic/st150_process'}}") + @Value("${data.center.trendLog.api:#{'/v1/generic/trendLog_process'}}") + private String processTrendLogUrl; + + @Value("${data.center.st150_process.api:#{'/v1/generic/st150_process'}}") private String processGW150Url; @Value("${data.center.zaiot_process.api:#{'/v1/generic/zaiot_process'}}") @@ -69,6 +72,10 @@ public class DataCenterEnvConfig { return apiAddress+processIoserverUrl; } + public String getProcessTrendLogUrl() { + return apiAddress+processTrendLogUrl; + } + public void setProcessIoserverUrl(String processIoserverUrl) { this.processIoserverUrl = processIoserverUrl; } diff --git a/src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java b/src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java index f784f30..c058ab7 100644 --- a/src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java +++ b/src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java @@ -80,6 +80,10 @@ public class DataTransService { //单独处理ST-150网关数据 logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessIoserverUrl()); response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getGW150ProcessUrl(), jsonParams); + }else if (isTrendLog(rawJson)){ + //单独处理TrendLog数据 + logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessTrendLogUrl()); + response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getProcessTrendLogUrl(), jsonParams); }else{ logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessApiUrl()); response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getProcessApiUrl(), jsonParams); @@ -138,4 +142,23 @@ public class DataTransService { return hasD && hasTs; } + /** + * 检查JSON字符串是否包含特定的字段,用于判断是否符合GW150数据格式 + * + * @param jsonStr 待检查的JSON字符串 + * @return 如果JSON字符串同时包含字段"Instance"、"DeviceId"和"log_buffer",则返回true,否则返回false + */ + private Boolean isTrendLog(String jsonStr){ + // 解析JSON字符串为JsonObject,以便进行字段检查 + JsonObject json = JsonParser.parseString(jsonStr).getAsJsonObject(); + + // 检查JSON对象中是否包含字段"Instance" + boolean hasInstance = json.has("Instance"); + // 检查JSON对象中是否包含字段"DeviceId" + boolean hasDeviceId = json.has("DeviceId"); + // 检查JSON对象中是否包含字段"hasLogBuffer" + boolean hasLogBuffer = json.has("log_buffer"); + + return hasInstance && hasDeviceId && hasLogBuffer; + } }