Commit dc0bda7b97558b1c67627015a66df040a3fa51a2

Authored by YunaiV
1 parent c20c828b

fix(iot): 统一 TDengine 设备属性字段名规范化

- 新增 TDengineTableField.buildFieldName,统一转换为小写下划线字段名
- 建表、写入、历史查询统一使用同一字段名生成规则
- 修复 PT/PA 等全大写 identifier 与 TDengine 小写字段比较不一致的问题
- 补充字段名转换契约测试和设备属性表结构同步测试
yudao-module-iot/yudao-module-iot-biz/src/test/java/cn/iocoder/yudao/module/iot/framework/tdengine/core/TDengineTableFieldTest.java 0 → 100644
  1 +package cn.iocoder.yudao.module.iot.framework.tdengine.core;
  2 +
  3 +import org.junit.jupiter.api.Test;
  4 +
  5 +import static org.junit.jupiter.api.Assertions.assertEquals;
  6 +import static org.junit.jupiter.api.Assertions.assertNull;
  7 +
  8 +public class TDengineTableFieldTest {
  9 +
  10 + @Test
  11 + public void testBuildFieldName() {
  12 + assertEquals("ua", TDengineTableField.buildFieldName("Ua"));
  13 + assertEquals("pf_t", TDengineTableField.buildFieldName("PfT"));
  14 + assertEquals("pt", TDengineTableField.buildFieldName("PT"));
  15 + assertEquals("pa", TDengineTableField.buildFieldName("PA"));
  16 + assertEquals("geo_location", TDengineTableField.buildFieldName("GeoLocation"));
  17 + assertEquals("light_status", TDengineTableField.buildFieldName("LightStatus"));
  18 + }
  19 +
  20 + @Test
  21 + public void testBuildFieldName_blank() {
  22 + assertNull(TDengineTableField.buildFieldName(null));
  23 + assertEquals("", TDengineTableField.buildFieldName(""));
  24 + assertEquals(" ", TDengineTableField.buildFieldName(" "));
  25 + }
  26 +
  27 +}
... ...