From eeaebe06aafd0782d295cf4d482a31e2dbf43d55 Mon Sep 17 00:00:00 2001 From: "jianjun.xu" <128395511+jianjun159@users.noreply.github.com> Date: Fri, 7 Feb 2025 14:48:48 +0800 Subject: [PATCH] [fix][chat-server] Compatible history data (#2033) --- .../repository/impl/ChatQueryRepositoryImpl.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/persistence/repository/impl/ChatQueryRepositoryImpl.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/persistence/repository/impl/ChatQueryRepositoryImpl.java index e934dc599..d8acc714d 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/persistence/repository/impl/ChatQueryRepositoryImpl.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/persistence/repository/impl/ChatQueryRepositoryImpl.java @@ -17,6 +17,7 @@ import com.tencent.supersonic.chat.server.persistence.mapper.ChatParseMapper; import com.tencent.supersonic.chat.server.persistence.mapper.ChatQueryDOMapper; import com.tencent.supersonic.chat.server.persistence.mapper.custom.ShowCaseCustomMapper; import com.tencent.supersonic.chat.server.persistence.repository.ChatQueryRepository; +import com.tencent.supersonic.common.pojo.QueryColumn; import com.tencent.supersonic.common.util.JsonUtil; import com.tencent.supersonic.common.util.PageUtils; import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo; @@ -116,6 +117,18 @@ public class ChatQueryRepositoryImpl implements ChatQueryRepository { JsonUtil.toObject(chatQueryDO.getQueryResult(), QueryResult.class); if (queryResult != null) { queryResult.setQueryId(chatQueryDO.getQuestionId()); + // fix bugs, compatible with bugs caused by history field changes + if (!CollectionUtils.isEmpty(queryResult.getQueryColumns())) { + List queryColumns = queryResult.getQueryColumns().stream().peek(x -> { + if (StringUtils.isEmpty(x.getBizName()) && StringUtils.isNotEmpty(x.getNameEn())) { + x.setBizName(x.getNameEn()); + } + if (StringUtils.isNotEmpty(x.getBizName()) && StringUtils.isEmpty(x.getNameEn())) { + x.setNameEn(x.getBizName()); + } + }).collect(Collectors.toList()); + queryResult.setQueryColumns(queryColumns); + } queryResp.setQueryResult(queryResult); } queryResp.setSimilarQueries(JSONObject.parseArray(chatQueryDO.getSimilarQueries(),