From a968032347b149aeb59dc3997b073adb45163da3 Mon Sep 17 00:00:00 2001 From: jipeli <54889677+jipeli@users.noreply.github.com> Date: Mon, 13 May 2024 14:53:18 +0800 Subject: [PATCH] (improvement)(Headless) Obtain metric default agg (#984) (#988) --- .../server/service/impl/MetricServiceImpl.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/MetricServiceImpl.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/MetricServiceImpl.java index 9a74b5a45..5cff01e8d 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/MetricServiceImpl.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/MetricServiceImpl.java @@ -715,14 +715,17 @@ public class MetricServiceImpl implements MetricService { } private void fillDefaultAgg(MetricResp metricResp, ModelResp modelResp) { + metricResp.setDefaultAgg(getDefaultAgg(metricResp, modelResp)); + } + + private String getDefaultAgg(MetricResp metricResp, ModelResp modelResp) { if (modelResp == null || (Objects.nonNull(metricResp.getDefaultAgg()) && !metricResp.getDefaultAgg() .isEmpty())) { - return; + return metricResp.getDefaultAgg(); } // FIELD define will get from expr if (MetricDefineType.FIELD.equals(metricResp.getMetricDefineType())) { - metricResp.setDefaultAgg(SqlSelectFunctionHelper.getFirstAggregateFunctions(metricResp.getExpr())); - return; + return SqlSelectFunctionHelper.getFirstAggregateFunctions(metricResp.getExpr()); } // METRIC define will get from first metric if (MetricDefineType.METRIC.equals(metricResp.getMetricDefineType())) { @@ -731,10 +734,10 @@ public class MetricServiceImpl implements MetricService { MetricParam metricParam = metricResp.getMetricDefineByMetricParams().getMetrics().get(0); MetricResp firstMetricResp = getMetric(modelResp.getDomainId(), metricParam.getBizName()); if (Objects.nonNull(firstMetricResp)) { - fillDefaultAgg(firstMetricResp, modelResp); + return getDefaultAgg(firstMetricResp, modelResp); } + return ""; } - return; } // Measure define will get from first measure List measures = modelResp.getModelDetail().getMeasures(); @@ -742,10 +745,10 @@ public class MetricServiceImpl implements MetricService { .getMeasures().get(0); for (Measure measure : measures) { if (measure.getBizName().equalsIgnoreCase(firstMeasure.getBizName())) { - metricResp.setDefaultAgg(measure.getAgg()); - break; + return measure.getAgg(); } } + return ""; } @Override