[improvement](knowledge) support knowledge scenes without dates (#318)

Co-authored-by: kanedai <kanedai@tencent.com>
This commit is contained in:
daikon
2023-11-03 17:34:03 +08:00
committed by GitHub
parent 84b7c2c062
commit b8989e204f
3 changed files with 24 additions and 15 deletions

View File

@@ -173,20 +173,22 @@ public class DictMetaHelper {
.forEach(knowledgeInfo -> {
SchemaElement dimensionDesc = dimIdAndDescPair.get(knowledgeInfo.getItemId());
//default cnt
if (Objects.isNull(chatDefaultConfig)
|| CollectionUtils.isEmpty(chatDefaultConfig.getMetrics())) {
Long dimId = dimensionDesc.getId();
if (Objects.nonNull(dimId)) {
String datasourceBizName = queryDataSourceByDimId(dimId);
String internalMetricName =
datasourceBizName + UNDERLINE + internalMetricNameSuffix;
defaultMetricDescList.add(new DefaultMetric(internalMetricName,
internalMetricDays, DAY));
}
Long dimId = dimensionDesc.getId();
String internalMetricName = "";
if (Objects.nonNull(dimId)) {
String datasourceBizName = queryDataSourceByDimId(dimId);
internalMetricName = datasourceBizName + UNDERLINE + internalMetricNameSuffix;
}
if (Objects.isNull(chatDefaultConfig)) {
defaultMetricDescList.add(new DefaultMetric(internalMetricName,
internalMetricDays, DAY));
} else {
SchemaElement schemaItem = chatDefaultConfig.getMetrics().get(0);
defaultMetricDescList.add(new DefaultMetric(schemaItem.getBizName(),
String metric = internalMetricName;
if (!CollectionUtils.isEmpty(chatDefaultConfig.getMetrics())) {
metric = chatDefaultConfig.getMetrics().get(0).getBizName();
}
defaultMetricDescList.add(new DefaultMetric(metric,
chatDefaultConfig.getUnit(), chatDefaultConfig.getPeriod()));
}

View File

@@ -67,7 +67,7 @@ public class DictQueryHelper {
defaultMetricDesc.getBizName(), dim4Dict);
if (!CollectionUtils.isEmpty(data)) {
int size = (data.size() > printDataShow) ? printDataShow : data.size();
log.info("data:{}", data.subList(0, size - 1));
log.info("data:{}", data.subList(0, size));
} else {
log.warn("data is empty. nature:{}", nature);
if (Objects.nonNull(queryResultWithColumns)) {
@@ -178,6 +178,7 @@ public class DictQueryHelper {
DateConf dateInfo = new DateConf();
dateInfo.setDateMode(DateConf.DateMode.RECENT);
log.debug("defaultMetric unit():{}", defaultMetricDesc.getUnit());
dateInfo.setUnit(defaultMetricDesc.getUnit());
queryStructCmd.setDateInfo(dateInfo);

View File

@@ -137,6 +137,12 @@ public class QueryStructUtils {
if (Objects.isNull(dateInfo) || Objects.isNull(dateInfo.getDateMode())) {
return "";
}
if (dateInfo.getDateMode().equals(DateMode.RECENT)) {
if (dateInfo.getUnit() <= 0) {
return "";
}
}
List<Long> dimensionIds = getDimensionIds(queryStructCmd);
List<Long> metricIds = getMetricIds(queryStructCmd);
@@ -177,7 +183,7 @@ public class QueryStructUtils {
return whereClauseFromFilter;
} else if (Strings.isNotEmpty(whereFromDate) && Strings.isEmpty(whereClauseFromFilter)) {
return whereFromDate;
} else if (Strings.isEmpty(whereFromDate) && Strings.isEmpty(whereClauseFromFilter)) {
} else if (Objects.isNull(whereFromDate) && Strings.isEmpty(whereClauseFromFilter)) {
log.info("the current date information is empty, enter the date initialization logic");
return dateModeUtils.defaultRecentDateInfo(queryStructCmd.getDateInfo());
}