Przeglądaj źródła

refactor: TdEngineService 代码清理

mqy20260511
humanleft 2 tygodni temu
rodzic
commit
e1532193d2

+ 9
- 24
iot-platform/src/main/java/com/iot/platform/service/TdEngineService.java Wyświetl plik

@@ -125,7 +125,7 @@ public class TdEngineService {
125 125
         if (name == null || name.isEmpty()) {
126 126
             return "`unknown`";
127 127
         }
128
-        return "`" + name.replaceAll("`", "") + "`";
128
+        return "`" + name.replace("`", "") + "`";
129 129
     }
130 130
 
131 131
     private boolean isValidFieldName(String name) {
@@ -136,18 +136,6 @@ public class TdEngineService {
136 136
         return name != null && name.matches(ALLOWED_TABLE_NAME);
137 137
     }
138 138
 
139
-    private boolean isNumeric(String str) {
140
-        if (str == null || str.isEmpty()) {
141
-            return false;
142
-        }
143
-        try {
144
-            Double.parseDouble(str);
145
-            return true;
146
-        } catch (NumberFormatException e) {
147
-            return false;
148
-        }
149
-    }
150
-
151 139
     // === 缓存工具方法 ===
152 140
     private String getStableKey(String dbName, String stableName) {
153 141
         return dbName + "." + stableName;
@@ -217,6 +205,7 @@ public class TdEngineService {
217 205
      * 从数据库加载列类型
218 206
      */
219 207
     private Map<String, String> loadStableColumnTypesFromDB(String dbName, String stableName) {
208
+
220 209
         Map<String, String> columnTypes = new HashMap<>();
221 210
         String sql = String.format("DESCRIBE %s.%s", wrapName(dbName), wrapName(stableName));
222 211
         try (Connection conn = getConnection();
@@ -286,8 +275,6 @@ public class TdEngineService {
286 275
             return;
287 276
         }
288 277
 
289
-//        String superTableName = extractSuperTableName(table);
290
-
291 278
         int batchSize = DEFAULT_BATCH_SIZE;
292 279
         for (int i = 0; i < dataList.size(); i += batchSize) {
293 280
             List<Map<String, Object>> batch = dataList.subList(i, Math.min(i + batchSize, dataList.size()));
@@ -297,15 +284,11 @@ public class TdEngineService {
297 284
         log.info("批量写入成功: {} | 条数: {}", table, dataList.size());
298 285
     }
299 286
 
300
-    private String extractSuperTableName(String table) {
301
-        int idx = table.lastIndexOf('_');
302
-        return idx > 0 ? table.substring(0, idx) : table;
303
-    }
304
-
305 287
     /**
306 288
      * 收集数据中所有动态列及其类型
307 289
      */
308 290
     private Map<String, String> collectColumnTypes(List<Map<String, Object>> dataList) {
291
+
309 292
         Map<String, String> columnTypes = new LinkedHashMap<>();
310 293
         for (Map<String, Object> data : dataList) {
311 294
             if (data == null) {
@@ -327,7 +310,8 @@ public class TdEngineService {
327 310
      * 构建批量插入 SQL
328 311
      */
329 312
     private String buildInsertSql(String dbName, String table, String superTableName,
330
-                                   Map<String, String> columnTypes, List<Map<String, Object>> dataList) {
313
+                                  Map<String, String> columnTypes, List<Map<String, Object>> dataList) {
314
+
331 315
         if (columnTypes.isEmpty()) {
332 316
             return null;
333 317
         }
@@ -365,7 +349,8 @@ public class TdEngineService {
365 349
         if (!hasData) {
366 350
             return null;
367 351
         }
368
-        log.info("生成的 INSERT SQL | 列类型: {} | SQL 前100字符: {}", columnTypes, sql.toString().substring(0, Math.min(100, sql.toString().length())));
352
+        log.info("生成的 INSERT SQL | 列类型: {} | SQL 前100字符: {}",
353
+                columnTypes, sql.substring(0, Math.min(100, sql.toString().length())));
369 354
         sql.setLength(sql.length() - 1);
370 355
         return sql.toString();
371 356
     }
@@ -495,7 +480,7 @@ public class TdEngineService {
495 480
     /**
496 481
      * 根据 TdEngine 列类型获取创建列的 SQL 类型
497 482
      */
498
-    private String getColumnTypeForDDL(String tdType, String columnName) {
483
+    private String getColumnTypeForDDL(String tdType) {
499 484
         switch (tdType) {
500 485
             case "BOOL":
501 486
             case "BIGINT":
@@ -586,7 +571,7 @@ public class TdEngineService {
586 571
                 }
587 572
 
588 573
                 if (!existingColumns.contains(col)) {
589
-                    String ddlType = getColumnTypeForDDL(colType, col);
574
+                    String ddlType = getColumnTypeForDDL(colType);
590 575
                     String alterSql = String.format(
591 576
                             "ALTER STABLE %s.%s ADD COLUMN %s %s",
592 577
                             wrapName(dbName),

Ładowanie…
Anuluj
Zapisz