From 8a4bccab101e41b40704c8900090af129c1b4e6d Mon Sep 17 00:00:00 2001 From: jerryjzhang Date: Wed, 1 Apr 2026 14:24:31 +0800 Subject: [PATCH] =?UTF-8?q?refactor(headless):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=BB=B4=E5=BA=A6=E5=80=BC=E6=98=A0=E5=B0=84=E5=A4=84=E7=90=86?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=B9=B6=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E4=B8=AD=E7=9A=84=E4=BB=A3=E7=90=86ID?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 简化了维度值映射列表的删除操作代码结构 - 移除了不必要的空行以提高代码可读性 - 在查询响应对象中添加了agentId字段 - 优化了流式处理的链式调用方式 - 调整了数据集服务查询方法的参数构建方式 --- .../chat/api/pojo/response/QueryResp.java | 1 + .../service/impl/DimensionServiceImpl.java | 23 +++++++++---------- .../service/impl/SchemaServiceImpl.java | 8 +++---- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/response/QueryResp.java b/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/response/QueryResp.java index 1a8f7746b..b96a26389 100644 --- a/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/response/QueryResp.java +++ b/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/response/QueryResp.java @@ -13,6 +13,7 @@ public class QueryResp { private Long questionId; private Date createTime; private Long chatId; + private Integer agentId; private Integer score; private String feedback; private String queryText; diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DimensionServiceImpl.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DimensionServiceImpl.java index 0cf50d53b..f45de8b92 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DimensionServiceImpl.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DimensionServiceImpl.java @@ -475,40 +475,39 @@ public class DimensionServiceImpl extends ServiceImpl DimValueMap) Map existingMap = dimValueMapList.stream() .collect(Collectors.toMap(DimValueMap::getValue, v -> v, (v1, v2) -> v2)); - + // 收集需要删除的 values(alias 为空的) Set valuesToDelete = req.getDimValueMaps().stream() .filter(dimValueMap -> CollectionUtils.isEmpty(dimValueMap.getAlias())) - .map(DimValueMap::getValue) - .collect(Collectors.toSet()); - + .map(DimValueMap::getValue).collect(Collectors.toSet()); + // 一次性删除所有需要删除的数据 if (!valuesToDelete.isEmpty()) { - dimValueMapList = dimValueMapList.stream() - .filter(map -> !valuesToDelete.contains(map.getValue())) - .collect(Collectors.toList()); + dimValueMapList = + dimValueMapList.stream().filter(map -> !valuesToDelete.contains(map.getValue())) + .collect(Collectors.toList()); // 同时从 existingMap 中移除 existingMap.keySet().removeAll(valuesToDelete); } - + // 处理新增和更新 for (DimValueMap dimValueMap : req.getDimValueMaps()) { // 跳过需要删除的 if (CollectionUtils.isEmpty(dimValueMap.getAlias())) { continue; } - + String value = dimValueMap.getValue(); if (!existingMap.containsKey(value)) { // 新增 @@ -520,7 +519,7 @@ public class DimensionServiceImpl extends ServiceImpl getDomainDataSetTree() { List domainResps = domainService.getDomainList(); List itemResps = domainResps.stream().map(domain -> new ItemResp(domain.getId(), - domain.getParentId(), domain.getName(), TypeEnums.DOMAIN)) - .toList(); + domain.getParentId(), domain.getName(), TypeEnums.DOMAIN)).toList(); Map itemRespMap = itemResps.stream().collect(Collectors.toMap(ItemResp::getId, item -> item)); - List dataSetResps = dataSetService.getDataSetList(MetaFilter.builder() - .status(StatusEnum.ONLINE.getCode()) - .build()); + List dataSetResps = dataSetService + .getDataSetList(MetaFilter.builder().status(StatusEnum.ONLINE.getCode()).build()); for (DataSetResp dataSetResp : dataSetResps) { ItemResp itemResp = itemRespMap.get(dataSetResp.getDomainId()); if (itemResp != null) {