diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/rest/ChatQueryController.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/rest/ChatQueryController.java index 52914259a..754e4a036 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/rest/ChatQueryController.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/rest/ChatQueryController.java @@ -35,6 +35,13 @@ public class ChatQueryController { return chatService.search(chatParseReq); } + @PostMapping("map") + public Object map(@RequestBody ChatParseReq chatParseReq, + HttpServletRequest request, HttpServletResponse response) throws Exception { + chatParseReq.setUser(UserHolder.findUser(request, response)); + return chatService.performMapping(chatParseReq); + } + @PostMapping("parse") public Object parse(@RequestBody ChatParseReq chatParseReq, HttpServletRequest request, HttpServletResponse response) throws Exception { diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/ChatService.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/ChatService.java index 4001e9b94..d1f56e199 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/ChatService.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/ChatService.java @@ -6,6 +6,7 @@ import com.tencent.supersonic.chat.api.pojo.request.ChatParseReq; import com.tencent.supersonic.chat.api.pojo.request.ChatQueryDataReq; import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo; import com.tencent.supersonic.headless.api.pojo.request.DimensionValueReq; +import com.tencent.supersonic.headless.api.pojo.response.MapResp; import com.tencent.supersonic.headless.api.pojo.response.ParseResp; import com.tencent.supersonic.headless.api.pojo.response.QueryResult; import com.tencent.supersonic.headless.api.pojo.response.SearchResult; @@ -16,6 +17,8 @@ public interface ChatService { List search(ChatParseReq chatParseReq); + MapResp performMapping(ChatParseReq chatParseReq); + ParseResp performParsing(ChatParseReq chatParseReq); QueryResult performExecution(ChatExecuteReq chatExecuteReq) throws Exception; diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatServiceImpl.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatServiceImpl.java index 60929fbd3..bb4c46b97 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatServiceImpl.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatServiceImpl.java @@ -61,6 +61,11 @@ public class ChatServiceImpl implements ChatService { return searchService.search(queryReq); } + @Override + public MapResp performMapping(ChatParseReq chatParseReq) { + return getMapResp(chatParseReq); + } + @Override public ParseResp performParsing(ChatParseReq chatParseReq) { ParseResp parseResp = new ParseResp(chatParseReq.getChatId(), chatParseReq.getQueryText()); @@ -105,6 +110,16 @@ public class ChatServiceImpl implements ChatService { return chatParseContext; } + private MapResp getMapResp(ChatParseReq chatParseReq) { + ChatParseContext chatParseContext = new ChatParseContext(); + BeanMapper.mapper(chatParseReq, chatParseContext); + AgentService agentService = ContextUtils.getBean(AgentService.class); + Agent agent = agentService.getAgent(chatParseReq.getAgentId()); + chatParseContext.setAgent(agent); + QueryReq queryReq = QueryReqConverter.buildText2SqlQueryReq(chatParseContext); + return chatQueryService.performMapping(queryReq); + } + private ChatExecuteContext buildExecuteContext(ChatExecuteReq chatExecuteReq) { ChatExecuteContext chatExecuteContext = new ChatExecuteContext(); BeanMapper.mapper(chatExecuteReq, chatExecuteContext); diff --git a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/PageMetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/PageMetricReq.java index aca8caf69..3e870f7a2 100644 --- a/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/PageMetricReq.java +++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/pojo/request/PageMetricReq.java @@ -9,4 +9,6 @@ public class PageMetricReq extends PageSchemaItemReq { private String type; + private Integer isTag; + } diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl/MetricRepositoryImpl.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl/MetricRepositoryImpl.java index 3eabcf2b7..6b4f04783 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl/MetricRepositoryImpl.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/persistence/repository/impl/MetricRepositoryImpl.java @@ -9,8 +9,8 @@ import com.tencent.supersonic.headless.server.persistence.mapper.MetricQueryDefa import com.tencent.supersonic.headless.server.persistence.repository.MetricRepository; import com.tencent.supersonic.headless.server.pojo.MetricFilter; import com.tencent.supersonic.headless.server.pojo.MetricsFilter; -import java.util.List; import org.springframework.stereotype.Component; +import java.util.List; @Component diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/pojo/MetaFilter.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/pojo/MetaFilter.java index 981c3e5af..28bb45e48 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/pojo/MetaFilter.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/pojo/MetaFilter.java @@ -34,6 +34,8 @@ public class MetaFilter { private List fieldsDepend; + private Integer isTag; + public MetaFilter(List modelIds) { this.modelIds = modelIds; } diff --git a/headless/server/src/main/resources/mapper/custom/DimensionDOCustomMapper.xml b/headless/server/src/main/resources/mapper/custom/DimensionDOCustomMapper.xml index 4f82ebd56..ffb6e36fe 100644 --- a/headless/server/src/main/resources/mapper/custom/DimensionDOCustomMapper.xml +++ b/headless/server/src/main/resources/mapper/custom/DimensionDOCustomMapper.xml @@ -117,52 +117,54 @@ diff --git a/headless/server/src/main/resources/mapper/custom/MetricDOCustomMapper.xml b/headless/server/src/main/resources/mapper/custom/MetricDOCustomMapper.xml index 3be579e3c..9654f5c32 100644 --- a/headless/server/src/main/resources/mapper/custom/MetricDOCustomMapper.xml +++ b/headless/server/src/main/resources/mapper/custom/MetricDOCustomMapper.xml @@ -98,52 +98,60 @@