mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-13 13:07:32 +00:00
(improvement)(chat) Fixed the problem that the agent's enableSearch setting does not take effect and avoid getting mapinfo when searching (#1277)
Co-authored-by: lxwcodemonkey
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.tencent.supersonic.chat.server.service.impl;
|
package com.tencent.supersonic.chat.server.service.impl;
|
||||||
|
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||||
import com.tencent.supersonic.chat.api.pojo.request.ChatExecuteReq;
|
import com.tencent.supersonic.chat.api.pojo.request.ChatExecuteReq;
|
||||||
import com.tencent.supersonic.chat.api.pojo.request.ChatParseReq;
|
import com.tencent.supersonic.chat.api.pojo.request.ChatParseReq;
|
||||||
@@ -55,6 +56,10 @@ public class ChatServiceImpl implements ChatService {
|
|||||||
@Override
|
@Override
|
||||||
public List<SearchResult> search(ChatParseReq chatParseReq) {
|
public List<SearchResult> search(ChatParseReq chatParseReq) {
|
||||||
ChatParseContext chatParseContext = buildParseContext(chatParseReq);
|
ChatParseContext chatParseContext = buildParseContext(chatParseReq);
|
||||||
|
Agent agent = chatParseContext.getAgent();
|
||||||
|
if (!agent.enableSearch()) {
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
QueryReq queryReq = QueryReqConverter.buildText2SqlQueryReq(chatParseContext);
|
QueryReq queryReq = QueryReqConverter.buildText2SqlQueryReq(chatParseContext);
|
||||||
return retrieveService.retrieve(queryReq);
|
return retrieveService.retrieve(queryReq);
|
||||||
}
|
}
|
||||||
@@ -64,6 +69,7 @@ public class ChatServiceImpl implements ChatService {
|
|||||||
ParseResp parseResp = new ParseResp(chatParseReq.getChatId(), chatParseReq.getQueryText());
|
ParseResp parseResp = new ParseResp(chatParseReq.getChatId(), chatParseReq.getQueryText());
|
||||||
chatManageService.createChatQuery(chatParseReq, parseResp);
|
chatManageService.createChatQuery(chatParseReq, parseResp);
|
||||||
ChatParseContext chatParseContext = buildParseContext(chatParseReq);
|
ChatParseContext chatParseContext = buildParseContext(chatParseReq);
|
||||||
|
supplyMapInfo(chatParseContext);
|
||||||
for (ChatParser chatParser : chatParsers) {
|
for (ChatParser chatParser : chatParsers) {
|
||||||
chatParser.parse(chatParseContext, parseResp);
|
chatParser.parse(chatParseContext, parseResp);
|
||||||
}
|
}
|
||||||
@@ -127,10 +133,13 @@ public class ChatServiceImpl implements ChatService {
|
|||||||
BeanMapper.mapper(chatParseReq, chatParseContext);
|
BeanMapper.mapper(chatParseReq, chatParseContext);
|
||||||
Agent agent = agentService.getAgent(chatParseReq.getAgentId());
|
Agent agent = agentService.getAgent(chatParseReq.getAgentId());
|
||||||
chatParseContext.setAgent(agent);
|
chatParseContext.setAgent(agent);
|
||||||
|
return chatParseContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void supplyMapInfo(ChatParseContext chatParseContext) {
|
||||||
QueryReq queryReq = QueryReqConverter.buildText2SqlQueryReq(chatParseContext);
|
QueryReq queryReq = QueryReqConverter.buildText2SqlQueryReq(chatParseContext);
|
||||||
MapResp mapResp = chatQueryService.performMapping(queryReq);
|
MapResp mapResp = chatQueryService.performMapping(queryReq);
|
||||||
chatParseContext.setMapInfo(mapResp.getMapInfo());
|
chatParseContext.setMapInfo(mapResp.getMapInfo());
|
||||||
return chatParseContext;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private ChatExecuteContext buildExecuteContext(ChatExecuteReq chatExecuteReq) {
|
private ChatExecuteContext buildExecuteContext(ChatExecuteReq chatExecuteReq) {
|
||||||
|
|||||||
Reference in New Issue
Block a user