From 23182f2c951df5fa55e70e30ff70ddaf91199a2e Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 05 二月 2026 15:57:58 +0800
Subject: [PATCH] 1
---
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..37410c4
--- /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]);
+ 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