diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/Dimension.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/Dimension.java index 4e79a4a20..51b20c371 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/Dimension.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/Dimension.java @@ -21,6 +21,8 @@ public class Dimension { private String dateFormat = Constants.DAY_FORMAT; + private String dataType; + private DimensionTimeTypeParams typeParams; private Integer isCreateDimension = 0; @@ -37,13 +39,14 @@ public class Dimension { this.expr = bizName; } - public Dimension(String name, String bizName, String expr, DimensionType type, + public Dimension(String name, String bizName, String expr, DimensionType type, String dataType, Integer isCreateDimension) { this.name = name; this.type = type; this.isCreateDimension = isCreateDimension; this.bizName = bizName; this.expr = expr; + this.dataType = dataType; } public Dimension(String name, String bizName, DimensionType type, Integer isCreateDimension, diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DimensionConverter.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DimensionConverter.java index d6893211c..9323c9290 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DimensionConverter.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DimensionConverter.java @@ -73,6 +73,9 @@ public class DimensionConverter { if (dimensionReq.getTypeParams() != null) { dimensionDO.setTypeParams(JSONObject.toJSONString(dimensionReq.getTypeParams())); } + if (dimensionReq.getDataType() != null) { + dimensionDO.setDataType(dimensionReq.getDataType().getType()); + } dimensionDO.setStatus(StatusEnum.ONLINE.getCode()); return dimensionDO; } diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ModelConverter.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ModelConverter.java index 0e7c29a5d..8a575b7d9 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ModelConverter.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ModelConverter.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; import com.tencent.supersonic.common.pojo.DimensionConstants; import com.tencent.supersonic.common.pojo.User; +import com.tencent.supersonic.common.pojo.enums.DataTypeEnums; import com.tencent.supersonic.common.pojo.enums.StatusEnum; import com.tencent.supersonic.common.util.BeanMapper; import com.tencent.supersonic.common.util.JsonUtil; @@ -109,6 +110,7 @@ public class ModelConverter { dimensionReq.setModelId(modelDO.getId()); dimensionReq.setExpr(dim.getExpr()); dimensionReq.setType(dim.getType().name()); + dimensionReq.setDataType(DataTypeEnums.of(dim.getDataType())); dimensionReq .setDescription(Objects.isNull(dim.getDescription()) ? dimensionReq.getDescription() : dim.getDescription()); @@ -193,7 +195,8 @@ public class ModelConverter { if (optional.isEmpty()) { Dimension dim = new Dimension(semanticColumn.getName(), semanticColumn.getColumnName(), semanticColumn.getExpr(), - DimensionType.valueOf(semanticColumn.getFiledType().name()), 1); + DimensionType.valueOf(semanticColumn.getFiledType().name()), + semanticColumn.getDataType(), 1); modelDetail.getDimensions().add(dim); } }