(improvement)(Headless) Add default time setting for metric and detail query mode (#1095)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2024-06-05 18:55:05 +08:00
committed by GitHub
parent 008c1c35d8
commit b3b9687041
8 changed files with 19 additions and 23 deletions

View File

@@ -1,10 +1,13 @@
package com.tencent.supersonic.headless.api.pojo;
import com.tencent.supersonic.common.pojo.Constants;
import com.tencent.supersonic.common.pojo.enums.TimeMode;
import lombok.Data;
@Data
public class MetricTypeDefaultConfig {
private TimeDefaultConfig timeDefaultConfig;
private TimeDefaultConfig timeDefaultConfig =
new TimeDefaultConfig(7, Constants.DAY, TimeMode.RECENT);
}

View File

@@ -8,6 +8,6 @@ public class TagTypeDefaultConfig {
private DefaultDisplayInfo defaultDisplayInfo;
//default time to filter tag selection results
private TimeDefaultConfig timeDefaultConfig;
private TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig();
}

View File

@@ -3,9 +3,13 @@ package com.tencent.supersonic.headless.api.pojo;
import com.tencent.supersonic.common.pojo.Constants;
import com.tencent.supersonic.common.pojo.enums.TimeMode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TimeDefaultConfig {
@@ -22,5 +26,4 @@ public class TimeDefaultConfig {
private TimeMode timeMode = TimeMode.LAST;
}

View File

@@ -3,9 +3,10 @@ package com.tencent.supersonic.headless.api.pojo.request;
import com.tencent.supersonic.headless.api.pojo.DataSetDetail;
import com.tencent.supersonic.headless.api.pojo.QueryConfig;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import java.util.List;
import lombok.Data;
import java.util.List;
@Data
public class DataSetReq extends SchemaItem {
@@ -15,7 +16,7 @@ public class DataSetReq extends SchemaItem {
private String alias;
private QueryConfig queryConfig;
private QueryConfig queryConfig = new QueryConfig();
private List<String> admins;

View File

@@ -5,12 +5,13 @@ import com.tencent.supersonic.headless.api.pojo.DataSetDetail;
import com.tencent.supersonic.headless.api.pojo.DataSetModelConfig;
import com.tencent.supersonic.headless.api.pojo.QueryConfig;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import lombok.Data;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import lombok.Data;
import org.springframework.util.CollectionUtils;
@Data
public class DataSetResp extends SchemaItem {
@@ -27,7 +28,7 @@ public class DataSetResp extends SchemaItem {
private List<String> adminOrgs = new ArrayList<>();
private QueryConfig queryConfig;
private QueryConfig queryConfig = new QueryConfig();
private List<TagItem> allMetrics = new ArrayList<>();

View File

@@ -47,7 +47,7 @@ public class QueryTypeParser implements SemanticParser {
SemanticParseInfo parseInfo = semanticQuery.getParseInfo();
SqlInfo sqlInfo = parseInfo.getSqlInfo();
if (Objects.isNull(sqlInfo) || StringUtils.isBlank(sqlInfo.getS2SQL())) {
return QueryType.ID;
return QueryType.DETAIL;
}
//1. entity queryType
Long dataSetId = parseInfo.getDataSetId();
@@ -80,7 +80,7 @@ public class QueryTypeParser implements SemanticParser {
if (selectContainsMetric(sqlInfo, dataSetId, semanticSchema)) {
return QueryType.METRIC;
}
return QueryType.ID;
return QueryType.DETAIL;
}
private static List<String> filterByTimeFields(List<String> whereFields) {