@@ -10,7 +10,6 @@ import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
-import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -5,7 +5,6 @@ import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - IoT 设备 Response VO")
@@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.iot.controller.admin.thinkmodelfunction.thingMod
import lombok.*;
import java.util.List;
-import java.util.Map;
@Data
@Builder
@@ -9,7 +9,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
-import java.util.List;
@Schema(description = "管理后台 - IoT 产品物模型 Response VO")
@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.iot.dal.dataobject.tdengine;
-
import cn.iocoder.yudao.module.iot.controller.admin.thinkmodelfunction.thingModel.ThingModelProperty;
import cn.iocoder.yudao.module.iot.controller.admin.thinkmodelfunction.thingModel.ThingModelRespVO;
import cn.iocoder.yudao.module.iot.controller.admin.thinkmodelfunction.thingModel.dataType.ThingModelDataType;
@@ -9,21 +8,26 @@ import java.util.HashMap;
import java.util.stream.Collectors;
+/**
+ * FieldParser 类用于解析和转换物模型字段到 TDengine 字段
+ *
+ */
public class FieldParser {
/**
* 物模型到td数据类型映射
*/
- private static final HashMap<String, String> TYPE_MAPPING = new HashMap<>() {{
- put("INT", "INT");
- put("FLOAT", "FLOAT");
- put("DOUBLE", "DOUBLE");
- put("BOOL", "BOOL");
- put("ENUM", "NCHAR");
- put("TEXT", "NCHAR");
- put("DATE", "NCHAR");
- }};
+ private static final HashMap<String, String> TYPE_MAPPING = new HashMap<>() {
+ {
+ put("INT", "INT");
+ put("FLOAT", "FLOAT");
+ put("DOUBLE", "DOUBLE");
+ put("BOOL", "BOOL");
+ put("ENUM", "NCHAR");
+ put("TEXT", "NCHAR");
+ put("DATE", "NCHAR");
+ }
+ };
* 将物模型字段转换为td字段
@@ -57,9 +61,8 @@ public class FieldParser {
* 将从库中查出来的字段信息转换为td字段对象
- public static List<TdField> parse(List rows) {
- return (List<TdField>) rows.stream().map((r) -> {
- List row = (List) r;
+ public static List<TdField> parse(List<List<Object>> rows) {
+ return rows.stream().map(row -> {
String type = row.get(1).toString().toUpperCase();
return new TdField(
row.get(0).toString(),
@@ -72,9 +75,9 @@ public class FieldParser {
* 获取字段字义
public static String getFieldDefine(TdField field) {
- return "`" + field.getName() + "`" + " " + (field.getLength() > 0 ?
- String.format("%s(%d)", field.getType(), field.getLength())
- : field.getType());
+ return "`" + field.getName() + "`" + " "
+ + (field.getLength() > 0 ? String.format("%s(%d)", field.getType(), field.getLength())
+ : field.getType());
}
@@ -4,6 +4,9 @@ import lombok.Data;
+ * TableData 类用于存储和操作 TDengine 表数据
public class TableData {
@@ -2,6 +2,9 @@ package cn.iocoder.yudao.module.iot.dal.dataobject.tdengine;
+ * TableManager 类用于管理 TDengine 表的创建、删除和结构信息获取
public class TableManager {
@@ -6,6 +6,9 @@ import lombok.NoArgsConstructor;
+ * TdResponse 类用于处理 TDengine 的响应
@NoArgsConstructor
@AllArgsConstructor
@@ -21,6 +24,6 @@ public class TdResponse {
private String desc;
//[["time","TIMESTAMP",8,""],["powerstate","TINYINT",1,""],["brightness","INT",4,""],["deviceid","NCHAR",32,"TAG"]]
- private List data;
+ private List<Object[]> data;
@@ -7,6 +7,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+ * TdRestApi 类用于处理 TDengine 的 REST API 请求
@Slf4j
@Service
public class TdRestApi {