From 4d095f96765db596fcfc4c9e0970124f86e197ab Mon Sep 17 00:00:00 2001 From: LXW <1264174498@qq.com> Date: Tue, 28 Nov 2023 01:21:55 +0800 Subject: [PATCH] (fix)(chat) Fix query dimension value error (#440) Co-authored-by: jolunoluo --- .../supersonic/chat/service/impl/QueryServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java index ec8a52e1a..3d6da572b 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java @@ -10,7 +10,9 @@ import com.tencent.supersonic.chat.api.component.SemanticParser; import com.tencent.supersonic.chat.api.component.SemanticQuery; import com.tencent.supersonic.chat.api.pojo.ChatContext; import com.tencent.supersonic.chat.api.pojo.QueryContext; +import com.tencent.supersonic.chat.api.pojo.SchemaElement; import com.tencent.supersonic.chat.api.pojo.SemanticParseInfo; +import com.tencent.supersonic.chat.api.pojo.SemanticSchema; import com.tencent.supersonic.chat.api.pojo.request.DimensionValueReq; import com.tencent.supersonic.chat.api.pojo.request.ExecuteQueryReq; import com.tencent.supersonic.chat.api.pojo.request.QueryDataReq; @@ -580,8 +582,12 @@ public class QueryServiceImpl implements QueryService { @Override public Object queryDimensionValue(DimensionValueReq dimensionValueReq, User user) throws Exception { QueryResultWithSchemaResp queryResultWithSchemaResp = new QueryResultWithSchemaResp(); + SemanticService semanticService = ContextUtils.getBean(SemanticService.class); + SemanticSchema semanticSchema = semanticService.getSemanticSchema(); + SchemaElement schemaElement = semanticSchema.getDimensions(dimensionValueReq.getElementID()); Set detectModelIds = new HashSet<>(); - detectModelIds.add(dimensionValueReq.getModelId()); + detectModelIds.add(schemaElement.getModel()); + dimensionValueReq.setModelId(schemaElement.getModel()); List dimensionValues = getDimensionValues(dimensionValueReq, detectModelIds); // if the search results is null,search dimensionValue from database if (CollectionUtils.isEmpty(dimensionValues)) {