mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 11:07:06 +00:00
[improvement](chat) Converting bizName to Name requires consideration of the time field (#412)
This commit is contained in:
@@ -12,6 +12,7 @@ import com.tencent.supersonic.chat.utils.QueryReqBuilder;
|
|||||||
import com.tencent.supersonic.common.pojo.Aggregator;
|
import com.tencent.supersonic.common.pojo.Aggregator;
|
||||||
import com.tencent.supersonic.common.pojo.Filter;
|
import com.tencent.supersonic.common.pojo.Filter;
|
||||||
import com.tencent.supersonic.common.pojo.Order;
|
import com.tencent.supersonic.common.pojo.Order;
|
||||||
|
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
|
||||||
import com.tencent.supersonic.common.util.ContextUtils;
|
import com.tencent.supersonic.common.util.ContextUtils;
|
||||||
import com.tencent.supersonic.knowledge.service.SchemaService;
|
import com.tencent.supersonic.knowledge.service.SchemaService;
|
||||||
import com.tencent.supersonic.semantic.api.model.enums.QueryTypeEnum;
|
import com.tencent.supersonic.semantic.api.model.enums.QueryTypeEnum;
|
||||||
@@ -86,6 +87,8 @@ public abstract class BaseSemanticQuery implements SemanticQuery, Serializable {
|
|||||||
SchemaService schemaService = ContextUtils.getBean(SchemaService.class);
|
SchemaService schemaService = ContextUtils.getBean(SchemaService.class);
|
||||||
Map<String, String> bizNameToName = schemaService.getSemanticSchema()
|
Map<String, String> bizNameToName = schemaService.getSemanticSchema()
|
||||||
.getBizNameToName(queryStructReq.getModelId());
|
.getBizNameToName(queryStructReq.getModelId());
|
||||||
|
bizNameToName.putAll(TimeDimensionEnum.getNameToNameMap());
|
||||||
|
|
||||||
List<Order> orders = queryStructReq.getOrders();
|
List<Order> orders = queryStructReq.getOrders();
|
||||||
if (CollectionUtils.isNotEmpty(orders)) {
|
if (CollectionUtils.isNotEmpty(orders)) {
|
||||||
for (Order order : orders) {
|
for (Order order : orders) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.tencent.supersonic.common.pojo.enums;
|
|||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
@@ -31,6 +32,16 @@ public enum TimeDimensionEnum {
|
|||||||
return Arrays.stream(TimeDimensionEnum.values()).map(TimeDimensionEnum::getChName).collect(Collectors.toList());
|
return Arrays.stream(TimeDimensionEnum.values()).map(TimeDimensionEnum::getChName).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Map<String, String> getChNameToNameMap() {
|
||||||
|
return Arrays.stream(TimeDimensionEnum.values())
|
||||||
|
.collect(Collectors.toMap(TimeDimensionEnum::getChName, TimeDimensionEnum::getName, (k1, k2) -> k1));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<String, String> getNameToNameMap() {
|
||||||
|
return Arrays.stream(TimeDimensionEnum.values())
|
||||||
|
.collect(Collectors.toMap(TimeDimensionEnum::getName, TimeDimensionEnum::getName, (k1, k2) -> k1));
|
||||||
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -184,14 +184,9 @@ public class QueryReqConverter {
|
|||||||
.flatMap(entry -> getPairStream(entry.getAlias(), entry.getName(), entry.getBizName()))
|
.flatMap(entry -> getPairStream(entry.getAlias(), entry.getName(), entry.getBizName()))
|
||||||
.collect(Collectors.toMap(a -> a.getLeft(), a -> a.getRight(), (k1, k2) -> k1));
|
.collect(Collectors.toMap(a -> a.getLeft(), a -> a.getRight(), (k1, k2) -> k1));
|
||||||
|
|
||||||
dimensionResults.put(TimeDimensionEnum.DAY.getChName(), TimeDimensionEnum.DAY.getName());
|
|
||||||
dimensionResults.put(TimeDimensionEnum.MONTH.getChName(), TimeDimensionEnum.MONTH.getName());
|
|
||||||
dimensionResults.put(TimeDimensionEnum.WEEK.getChName(), TimeDimensionEnum.WEEK.getName());
|
|
||||||
|
|
||||||
dimensionResults.put(TimeDimensionEnum.DAY.getName(), TimeDimensionEnum.DAY.getName());
|
|
||||||
dimensionResults.put(TimeDimensionEnum.MONTH.getName(), TimeDimensionEnum.MONTH.getName());
|
|
||||||
dimensionResults.put(TimeDimensionEnum.WEEK.getName(), TimeDimensionEnum.WEEK.getName());
|
|
||||||
|
|
||||||
|
dimensionResults.putAll(TimeDimensionEnum.getChNameToNameMap());
|
||||||
|
dimensionResults.putAll(TimeDimensionEnum.getNameToNameMap());
|
||||||
dimensionResults.putAll(metricResults);
|
dimensionResults.putAll(metricResults);
|
||||||
return dimensionResults;
|
return dimensionResults;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user