diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/ChatManageService.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/ChatManageService.java index f715fe63f..eaf105307 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/ChatManageService.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/ChatManageService.java @@ -52,4 +52,6 @@ public interface ChatManageService { List batchAddParse(ChatParseReq chatParseReq, ChatParseResp chatParseResp); SemanticParseInfo getParseInfo(Long questionId, int parseId); + + List getParseInfos(Long questionId); } diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatManageServiceImpl.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatManageServiceImpl.java index 9d87c8ceb..928d67fbe 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatManageServiceImpl.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatManageServiceImpl.java @@ -244,4 +244,13 @@ public class ChatManageServiceImpl implements ChatManageService { return JSONObject.parseObject(chatParseDO.getParseInfo(), SemanticParseInfo.class); } } + + @Override + public List getParseInfos(Long questionId) { + List chatParseDOs = + chatQueryRepository.getParseInfoList(Collections.singletonList(questionId)); + return chatParseDOs.stream().map(chatParseDO -> JSONObject + .parseObject(chatParseDO.getParseInfo(), SemanticParseInfo.class)) + .collect(Collectors.toList()); + } } diff --git a/common/src/main/java/com/tencent/supersonic/common/jsqlparser/SqlReplaceHelper.java b/common/src/main/java/com/tencent/supersonic/common/jsqlparser/SqlReplaceHelper.java index f7aae8919..c7632145f 100644 --- a/common/src/main/java/com/tencent/supersonic/common/jsqlparser/SqlReplaceHelper.java +++ b/common/src/main/java/com/tencent/supersonic/common/jsqlparser/SqlReplaceHelper.java @@ -194,7 +194,8 @@ public class SqlReplaceHelper { setOperationList.getSelects().forEach(subSelectBody -> { if (subSelectBody instanceof PlainSelect) { PlainSelect subPlainSelect = (PlainSelect) subSelectBody; - replaceFieldsInPlainOneSelect(fieldNameMap, exactReplace, subPlainSelect); + replaceFieldsInPlainOneSelect(fieldNameMap, exactReplace, + subPlainSelect); } else if (subSelectBody instanceof ParenthesedSelect) { replaceFieldsInPlainOneSelect(fieldNameMap, exactReplace, ((ParenthesedSelect) subSelectBody).getPlainSelect());