From 14f2c4fce50c871d84f89d2dca2298e0892b4672 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 05 五月 2026 08:25:26 +0800
Subject: [PATCH] Merge branch 'rcs_master_1.0' into rcs_master_all

---
 zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java b/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java
new file mode 100644
index 0000000..89ab200
--- /dev/null
+++ b/zy-acs-hex/src/main/java/com/zy/acs/hex/utils/StrUtils.java
@@ -0,0 +1,62 @@
+package com.zy.acs.hex.utils;
+
+import com.zy.acs.hex.constant.InfluxDBConstant;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class StrUtils {
+
+    public static Map<String, String> getTagsByRoutingKey(String routingKey) {
+
+        // 姝e垯琛ㄨ揪寮忓尮閰� rcs.up. 寮�澶达紝鍚庨潰璺熺潃涓や釜鐗堟湰鍙烽儴鍒�
+        String regex = "^rcs\\.up\\.(\\*|[a-zA-Z0-9]+)\\.(\\*|[a-zA-Z0-9]+)$";
+        //if (routingKey.matches(regex)) {
+        // 鍒嗗壊瀛楃涓插苟杩斿洖鐗堟湰鍙烽儴鍒�
+        String[] parts = routingKey.split("\\.");
+        if (parts.length == 4) {
+            Map<String, String> data = new HashMap<>();
+            data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_TYPE, parts[1].toUpperCase());
+            data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_DEVICEID, parts[2]);
+            data.put(InfluxDBConstant.DEVICE_MEASUREMENT_TAG_EVENT, parts[3]);
+            return data;
+        }
+        //}
+        // 濡傛灉鏍煎紡涓嶇鍚堬紝杩斿洖绌烘暟缁�
+        return null;
+    }
+
+    public static String getDeviceIdByRoutingKey(String routingKey) {
+
+        // 姝e垯琛ㄨ揪寮忓尮閰� rcs.up. 寮�澶达紝鍚庨潰璺熺潃涓や釜鐗堟湰鍙烽儴鍒�
+        String regex = "^rcs\\.up\\.(\\*|[a-zA-Z0-9]+)\\.(\\*|[a-zA-Z0-9]+)$";
+        if (routingKey.matches(regex)) {
+            // 鍒嗗壊瀛楃涓插苟杩斿洖鐗堟湰鍙烽儴鍒�
+            String[] parts = routingKey.split("\\.");
+            if (parts.length == 4) {
+                return parts[2];
+            }
+        }
+        // 濡傛灉鏍煎紡涓嶇鍚堬紝杩斿洖绌烘暟缁�
+        return null;
+    }
+
+    public static String getEventByRoutingKey(String routingKey) {
+
+        // 姝e垯琛ㄨ揪寮忓尮閰� rcs.up. 寮�澶达紝鍚庨潰璺熺潃涓や釜鐗堟湰鍙烽儴鍒�
+        String regex = "^rcs\\.up\\.(\\*|[a-zA-Z0-9]+)\\.(\\*|[a-zA-Z0-9]+)$";
+        if (routingKey.matches(regex)) {
+            // 鍒嗗壊瀛楃涓插苟杩斿洖鐗堟湰鍙烽儴鍒�
+            String[] parts = routingKey.split("\\.");
+            if (parts.length == 4) {
+                return parts[2];
+            }
+        }
+        // 濡傛灉鏍煎紡涓嶇鍚堬紝杩斿洖绌烘暟缁�
+        return null;
+    }
+
+    public static void main(String[] args) {
+        System.out.println(StrUtils.getDeviceIdByRoutingKey("rcs.up.ds1233.2aads"));
+    }
+}

--
Gitblit v1.9.1