diff --git a/common/src/main/java/com/tencent/supersonic/common/pojo/Constants.java b/common/src/main/java/com/tencent/supersonic/common/pojo/Constants.java index c37d40091..83bee1333 100644 --- a/common/src/main/java/com/tencent/supersonic/common/pojo/Constants.java +++ b/common/src/main/java/com/tencent/supersonic/common/pojo/Constants.java @@ -37,6 +37,7 @@ public class Constants { public static final String CONTEXT = "CONTEXT"; public static final Long DEFAULT_FREQUENCY = 100000L; public static final String TABLE_PREFIX = "t_"; - public static final Long DEFAULT_DETAIL_LIMIT = 500L; - public static final Long DEFAULT_METRIC_LIMIT = 200L; + public static final long DEFAULT_DETAIL_LIMIT = 500; + public static final long DEFAULT_METRIC_LIMIT = 200; + public static final long DEFAULT_DOWNLOAD_LIMIT = 10000; } diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/AggregateTypeDefaultConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/AggregateTypeDefaultConfig.java index 76a45cb89..f2f9db72e 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/AggregateTypeDefaultConfig.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/AggregateTypeDefaultConfig.java @@ -1,5 +1,6 @@ package com.tencent.supersonic.headless.api.pojo; +import com.tencent.supersonic.common.pojo.Constants; import com.tencent.supersonic.common.pojo.enums.DatePeriodEnum; import com.tencent.supersonic.common.pojo.enums.TimeMode; import lombok.Data; @@ -10,5 +11,5 @@ public class AggregateTypeDefaultConfig { private TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig(7, DatePeriodEnum.DAY, TimeMode.RECENT); - private Long limit; + private long limit = Constants.DEFAULT_METRIC_LIMIT; } diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DetailTypeDefaultConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DetailTypeDefaultConfig.java index 28241a4fc..0a59eb934 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DetailTypeDefaultConfig.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/DetailTypeDefaultConfig.java @@ -1,5 +1,6 @@ package com.tencent.supersonic.headless.api.pojo; +import com.tencent.supersonic.common.pojo.Constants; import lombok.Data; @Data @@ -10,5 +11,5 @@ public class DetailTypeDefaultConfig { // default time to filter tag selection results private TimeDefaultConfig timeDefaultConfig = new TimeDefaultConfig(); - private Long limit; + private long limit = Constants.DEFAULT_DETAIL_LIMIT; } diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/ItemValueConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/ItemValueConfig.java index 244695893..f9d954c6c 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/ItemValueConfig.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/ItemValueConfig.java @@ -14,6 +14,6 @@ public class ItemValueConfig { private List blackList = new ArrayList<>(); private List whiteList = new ArrayList<>(); private List ruleList = new ArrayList<>(); - private Long limit; + private int limit; private DateConf dateConf; } diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticParseInfo.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticParseInfo.java index 8e81e640b..f0ebbb744 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticParseInfo.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/SemanticParseInfo.java @@ -36,7 +36,7 @@ public class SemanticParseInfo { private Set metricFilters = Sets.newHashSet(); private Set orders = Sets.newHashSet(); private DateConf dateInfo; - private Long limit; + private long limit = DEFAULT_DETAIL_LIMIT; private double score; private List elementMatches = Lists.newArrayList(); private SqlInfo sqlInfo = new SqlInfo(); @@ -74,8 +74,8 @@ public class SemanticParseInfo { return dataSet.getDataSetId(); } - public Long getDetailLimit() { - Long limit = DEFAULT_DETAIL_LIMIT; + public long getDetailLimit() { + long limit = DEFAULT_DETAIL_LIMIT; if (Objects.nonNull(queryConfig) && Objects.nonNull(queryConfig.getDetailTypeDefaultConfig()) && Objects.nonNull(queryConfig.getDetailTypeDefaultConfig().getLimit())) { @@ -84,8 +84,8 @@ public class SemanticParseInfo { return limit; } - public Long getMetricLimit() { - Long limit = DEFAULT_METRIC_LIMIT; + public long getMetricLimit() { + long limit = DEFAULT_METRIC_LIMIT; if (Objects.nonNull(queryConfig) && Objects.nonNull(queryConfig.getAggregateTypeDefaultConfig()) && Objects.nonNull(queryConfig.getAggregateTypeDefaultConfig().getLimit())) { diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/QueryMetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/QueryMetricReq.java index 411836d7a..765dfc789 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/QueryMetricReq.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/QueryMetricReq.java @@ -1,6 +1,7 @@ package com.tencent.supersonic.headless.api.pojo.request; import com.google.common.collect.Lists; +import com.tencent.supersonic.common.pojo.Constants; import com.tencent.supersonic.common.pojo.DateConf; import com.tencent.supersonic.common.pojo.Filter; import lombok.Data; @@ -26,7 +27,7 @@ public class QueryMetricReq { private DateConf dateInfo = new DateConf(); - private Long limit = 2000L; + private long limit = Constants.DEFAULT_METRIC_LIMIT; private boolean innerLayerNative = false; } diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/QueryStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/QueryStructReq.java index ecfdb930f..539bae282 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/QueryStructReq.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/QueryStructReq.java @@ -48,7 +48,7 @@ public class QueryStructReq extends SemanticQueryReq { private List dimensionFilters = new ArrayList<>(); private List metricFilters = new ArrayList<>(); private DateConf dateInfo; - private Long limit = 2000L; + private long limit = Constants.DEFAULT_DETAIL_LIMIT; private QueryType queryType = QueryType.ID; private boolean convertToSql = true; diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/detail/DetailSemanticQuery.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/detail/DetailSemanticQuery.java index a39265e11..b4b5fa92f 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/detail/DetailSemanticQuery.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/detail/DetailSemanticQuery.java @@ -33,9 +33,8 @@ public abstract class DetailSemanticQuery extends RuleSemanticQuery { super.fillParseInfo(chatQueryContext); parseInfo.setQueryType(QueryType.DETAIL); - if (Objects.isNull(parseInfo.getLimit())) { - parseInfo.setLimit(parseInfo.getDetailLimit()); - } + parseInfo.setLimit(parseInfo.getDetailLimit()); + if (!needFillDateConf(chatQueryContext)) { return; } diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/metric/MetricSemanticQuery.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/metric/MetricSemanticQuery.java index 12586fd81..29d8b9acc 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/metric/MetricSemanticQuery.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/query/rule/metric/MetricSemanticQuery.java @@ -34,9 +34,7 @@ public abstract class MetricSemanticQuery extends RuleSemanticQuery { @Override public void fillParseInfo(ChatQueryContext chatQueryContext) { super.fillParseInfo(chatQueryContext); - if (Objects.isNull(parseInfo.getLimit())) { - parseInfo.setLimit(parseInfo.getMetricLimit()); - } + parseInfo.setLimit(parseInfo.getMetricLimit()); fillDateInfo(chatQueryContext); } diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DownloadServiceImpl.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DownloadServiceImpl.java index 9dfd0bb6f..1f8893025 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DownloadServiceImpl.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DownloadServiceImpl.java @@ -9,6 +9,7 @@ import com.alibaba.excel.write.metadata.WriteSheet; import com.google.common.collect.Lists; import com.tencent.supersonic.auth.api.authentication.pojo.User; import com.tencent.supersonic.common.pojo.Aggregator; +import com.tencent.supersonic.common.pojo.Constants; import com.tencent.supersonic.common.pojo.DateConf; import com.tencent.supersonic.common.pojo.QueryColumn; import com.tencent.supersonic.common.pojo.enums.DatePeriodEnum; @@ -58,7 +59,7 @@ public class DownloadServiceImpl implements DownloadService { private static final String internMetricCol = "指标名称"; - private static final long downloadSize = 10000; + private static final long downloadLimit = Constants.DEFAULT_DOWNLOAD_LIMIT; private static final String dateFormat = "yyyyMMddHHmmss"; @@ -293,7 +294,7 @@ public class DownloadServiceImpl implements DownloadService { queryStructReq.setAggregators(Lists.newArrayList(aggregator)); queryStructReq.setDateInfo(dateConf); queryStructReq.setModelIds(modelIds); - queryStructReq.setLimit(downloadSize); + queryStructReq.setLimit(downloadLimit); return queryStructReq; } diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DictUtils.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DictUtils.java index 2ebc9ac28..65b27d9b2 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DictUtils.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DictUtils.java @@ -68,7 +68,7 @@ public class DictUtils { private String dimMultiValueSplit; @Value("${s2.item.value.max.count:100000}") - private Long itemValueMaxCount; + private int itemValueMaxCount; @Value("${s2.item.value.white.frequency:999999}") private Long itemValueWhiteFrequency; @@ -285,7 +285,7 @@ public class DictUtils { String whereStr = generateWhereStr(dictItemResp); String where = StringUtils.isEmpty(whereStr) ? "" : "WHERE" + whereStr; ItemValueConfig config = dictItemResp.getConfig(); - Long limit = + int limit = (Objects.isNull(config) || Objects.isNull(config.getLimit())) ? itemValueMaxCount : dictItemResp.getConfig().getLimit(); @@ -331,7 +331,7 @@ public class DictUtils { String whereStr = generateWhereStr(dictItemResp); String where = StringUtils.isEmpty(whereStr) ? "" : "WHERE" + whereStr; ItemValueConfig config = dictItemResp.getConfig(); - Long limit = + long limit = (Objects.isNull(config) || Objects.isNull(config.getLimit())) ? itemValueMaxCount : dictItemResp.getConfig().getLimit(); @@ -371,7 +371,7 @@ public class DictUtils { fillStructDateInfo(queryStructReq, dictItemResp); - Long limit = + int limit = Objects.isNull(dictItemResp.getConfig().getLimit()) ? itemValueMaxCount : dictItemResp.getConfig().getLimit();