From a76b5a43007794051473417c6bead6e240d11ad2 Mon Sep 17 00:00:00 2001 From: jerryjzhang Date: Sun, 9 Mar 2025 09:15:13 +0800 Subject: [PATCH] (improvement)(headless)Add unit to measure. --- .../com/tencent/supersonic/headless/api/pojo/Measure.java | 6 +++++- .../supersonic/headless/api/pojo/SemanticColumn.java | 2 ++ .../headless/server/service/impl/ModelServiceImpl.java | 4 ++-- .../supersonic/headless/server/utils/ModelConverter.java | 6 +++--- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/Measure.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/Measure.java index ad18851b8..5a0a03165 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/Measure.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/Measure.java @@ -23,12 +23,16 @@ public class Measure { private String alias; - public Measure(String name, String bizName, String expr, String agg, Integer isCreateMetric) { + private String unit; + + public Measure(String name, String bizName, String expr, String agg, String unit, + Integer isCreateMetric) { this.name = name; this.agg = agg; this.isCreateMetric = isCreateMetric; this.bizName = bizName; this.expr = expr; + this.unit = unit; } public Measure(String name, String bizName, String agg, Integer isCreateMetric) { diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticColumn.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticColumn.java index dc31195d3..d94cae82c 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticColumn.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticColumn.java @@ -21,4 +21,6 @@ public class SemanticColumn { private String expr; + private String unit; + } diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/ModelServiceImpl.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/ModelServiceImpl.java index 8399baf23..92015b9fd 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/ModelServiceImpl.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/ModelServiceImpl.java @@ -277,8 +277,8 @@ public class ModelServiceImpl implements ModelService { dimensionService.createDimensionBatch(dimensionReqs, user); } - private void batchCreateMetric(ModelDO datasourceDO, User user) throws Exception { - List metricReqs = ModelConverter.convertMetricList(datasourceDO); + private void batchCreateMetric(ModelDO modelDO, User user) throws Exception { + List metricReqs = ModelConverter.convertMetricList(modelDO); metricService.createMetricBatch(metricReqs, user); } 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 b765b842b..980ddbdf4 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 @@ -167,9 +167,9 @@ public class ModelConverter { getIdentifyType(fieldType).name(), semanticColumn.getColumnName(), 1); modelDetail.getIdentifiers().add(identify); } else if (FieldType.measure.equals(fieldType)) { - Measure measure = - new Measure(semanticColumn.getName(), semanticColumn.getColumnName(), - semanticColumn.getExpr(), semanticColumn.getAgg().getOperator(), 1); + Measure measure = new Measure(semanticColumn.getName(), + semanticColumn.getColumnName(), semanticColumn.getExpr(), + semanticColumn.getAgg().getOperator(), semanticColumn.getUnit(), 1); modelDetail.getMeasures().add(measure); } else { Dimension dim = new Dimension(semanticColumn.getName(),