|
@@ -0,0 +1,65 @@
|
|
|
+package com.xvji.domain;
|
|
|
+
|
|
|
+import com.alibaba.fastjson2.JSON;
|
|
|
+import com.alibaba.fastjson2.TypeReference;
|
|
|
+import lombok.Data;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 组件表实体类(对应component表)
|
|
|
+ */
|
|
|
+@Data
|
|
|
+public class Component {
|
|
|
+ /**
|
|
|
+ * 组件ID
|
|
|
+ */
|
|
|
+ private Long componentId;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 任务ID:关联训练/预测任务表
|
|
|
+ */
|
|
|
+ private Long taskId;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 任务类型:0-训练任务,1-预测任务
|
|
|
+ */
|
|
|
+ private Integer taskType;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 组件类型(如数据获取)
|
|
|
+ */
|
|
|
+ private String componentType;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 参数:包含多对键值对的JSON对象
|
|
|
+ */
|
|
|
+ private String params; // 用String存储JSON字符串,兼容所有JSON格式
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 接口地址
|
|
|
+ */
|
|
|
+ private String interfaceUrl;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将JSON字符串参数转换为Map(方便操作键值对)
|
|
|
+ */
|
|
|
+ public Map<String, Object> getParamsMap() {
|
|
|
+ if (params == null || params.trim().isEmpty()) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ // 使用fastjson解析JSON字符串为Map
|
|
|
+ return JSON.parseObject(params, new TypeReference<Map<String, Object>>() {});
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将Map转换为JSON字符串(用于存储到数据库)
|
|
|
+ */
|
|
|
+ public void setParamsMap(Map<String, Object> paramsMap) {
|
|
|
+ if (paramsMap == null || paramsMap.isEmpty()) {
|
|
|
+ this.params = null;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 使用fastjson将Map序列化为JSON字符串
|
|
|
+ this.params = JSON.toJSONString(paramsMap);
|
|
|
+ }
|
|
|
+}
|