diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigBase.java b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigBase.java index e9877855c..2841cd802 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigBase.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigBase.java @@ -31,7 +31,7 @@ public class ChatConfigBase { /** * information about dictionary about the domain */ - private List dictionaryInfos; + private List knowledgeInfos; /** * available status diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigInfo.java b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigInfo.java index 775f9b2f8..556c224f6 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigInfo.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigInfo.java @@ -30,7 +30,7 @@ public class ChatConfigInfo { /** * information about dictionary about the domain */ - private List dictionaryInfos; + private List knowledgeInfos; /** * available status diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigRichInfo.java b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigRichInfo.java index 7e056a386..bb72fcf1d 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigRichInfo.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/pojo/config/ChatConfigRichInfo.java @@ -33,7 +33,7 @@ public class ChatConfigRichInfo { /** * information about dictionary about the domain */ - private List dictionaryInfos; + private List knowledgeInfos; /** * available status diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/utils/ChatConfigUtils.java b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/utils/ChatConfigUtils.java index 77781ab4e..c3517d08a 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/utils/ChatConfigUtils.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/utils/ChatConfigUtils.java @@ -154,7 +154,7 @@ public class ChatConfigUtils { JsonUtil.toList(chaConfigDO.getDefaultMetrics(), DefaultMetricInfo.class)); chaConfigDescriptor.setVisibility(JsonUtil.toObject(chaConfigDO.getVisibility(), ItemVisibility.class)); chaConfigDescriptor.setEntity(JsonUtil.toObject(chaConfigDO.getEntity(), Entity.class)); - chaConfigDescriptor.setDictionaryInfos(JsonUtil.toList(chaConfigDO.getKnowledgeInfo(), KnowledgeInfo.class)); + chaConfigDescriptor.setKnowledgeInfos(JsonUtil.toList(chaConfigDO.getKnowledgeInfo(), KnowledgeInfo.class)); chaConfigDescriptor.setStatusEnum(StatusEnum.of(chaConfigDO.getStatus())); chaConfigDescriptor.setCreatedBy(chaConfigDO.getCreatedBy()); diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/utils/DictMetaUtils.java b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/utils/DictMetaUtils.java index a0da48167..9590908aa 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/domain/utils/DictMetaUtils.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/domain/utils/DictMetaUtils.java @@ -14,6 +14,7 @@ import com.tencent.supersonic.chat.domain.pojo.config.ItemVisibilityInfo; import com.tencent.supersonic.chat.domain.pojo.config.KnowledgeInfo; import com.tencent.supersonic.knowledge.domain.pojo.DictUpdateMode; import com.tencent.supersonic.knowledge.domain.pojo.DimValue2DictCommand; + import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -22,6 +23,7 @@ import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; + import org.apache.logging.log4j.util.Strings; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -37,7 +39,7 @@ public class DictMetaUtils { private final DefaultSemanticInternalUtils defaultSemanticUtils; public DictMetaUtils(SemanticLayer semanticLayer, - DefaultSemanticInternalUtils defaultSemanticUtils) { + DefaultSemanticInternalUtils defaultSemanticUtils) { this.semanticLayer = semanticLayer; this.defaultSemanticUtils = defaultSemanticUtils; } @@ -129,21 +131,21 @@ public class DictMetaUtils { } private void fillDimValueDOList(List dimValueDOList, Long domainId, - Map dimIdAndDescPair) { + Map dimIdAndDescPair) { ChatConfigRichInfo chaConfigRichDesc = defaultSemanticUtils.getChatConfigRichInfo(domainId); if (Objects.nonNull(chaConfigRichDesc)) { List defaultMetricDescList = chaConfigRichDesc.getDefaultMetrics(); - List dictionaryInfos = chaConfigRichDesc.getDictionaryInfos(); - if (!CollectionUtils.isEmpty(dictionaryInfos)) { + List knowledgeInfos = chaConfigRichDesc.getKnowledgeInfos(); + if (!CollectionUtils.isEmpty(knowledgeInfos)) { List dimensions = new ArrayList<>(); - dictionaryInfos.stream() - .filter(dictionaryInfo -> dictionaryInfo.getIsDictInfo() - && isVisibleDim(dictionaryInfo, chaConfigRichDesc.getVisibility())) - .forEach(dictionaryInfo -> { - if (dimIdAndDescPair.containsKey(dictionaryInfo.getItemId())) { - DimSchemaResp dimensionDesc = dimIdAndDescPair.get(dictionaryInfo.getItemId()); + knowledgeInfos.stream() + .filter(knowledgeInfo -> knowledgeInfo.getIsDictInfo() + && isVisibleDim(knowledgeInfo, chaConfigRichDesc.getVisibility())) + .forEach(knowledgeInfo -> { + if (dimIdAndDescPair.containsKey(knowledgeInfo.getItemId())) { + DimSchemaResp dimensionDesc = dimIdAndDescPair.get(knowledgeInfo.getItemId()); //default cnt if (CollectionUtils.isEmpty(defaultMetricDescList)) { @@ -156,9 +158,9 @@ public class DictMetaUtils { } String bizName = dimensionDesc.getBizName(); - dimensions.add(new Dim4Dict(dictionaryInfo.getItemId(), bizName, - dictionaryInfo.getBlackList(), dictionaryInfo.getWhiteList(), - dictionaryInfo.getRuleList())); + dimensions.add(new Dim4Dict(knowledgeInfo.getItemId(), bizName, + knowledgeInfo.getBlackList(), knowledgeInfo.getWhiteList(), + knowledgeInfo.getRuleList())); } }); @@ -173,10 +175,10 @@ public class DictMetaUtils { } } - private boolean isVisibleDim(KnowledgeInfo dictionaryInfo, ItemVisibilityInfo itemVisibilityDesc) { + private boolean isVisibleDim(KnowledgeInfo knowledgeInfo, ItemVisibilityInfo itemVisibilityDesc) { if (Objects.isNull(itemVisibilityDesc) || CollectionUtils.isEmpty(itemVisibilityDesc.getBlackDimIdList())) { return true; } - return !itemVisibilityDesc.getBlackDimIdList().contains(dictionaryInfo.getItemId()); + return !itemVisibilityDesc.getBlackDimIdList().contains(knowledgeInfo.getItemId()); } } \ No newline at end of file diff --git a/launchers/chat/src/main/resources/db/chat-data-h2.sql b/launchers/chat/src/main/resources/db/chat-data-h2.sql index f286f1ae0..48d7d332c 100644 --- a/launchers/chat/src/main/resources/db/chat-data-h2.sql +++ b/launchers/chat/src/main/resources/db/chat-data-h2.sql @@ -3,7 +3,6 @@ insert into s2_user (id, `name`, password, display_name, email) values (2, 'jack insert into s2_user (id, `name`, password, display_name, email) values (3, 'tom','123456','tom','tom@xx.com'); insert into s2_user (id, `name`, password, display_name, email) values (4, 'lucy','123456','lucy','lucy@xx.com'); -insert into s2_chat_config (`id` ,`domain_id` ,`default_metrics`,`visibility`,`entity_info` ,`dictionary_info`,`created_at`,`updated_at`,`created_by`,`updated_by`,`status` ) values (1,1,'[{"metricId":1,"unit":7,"period":"DAY"}]','{"blackDimIdList":[],"blackMetricIdList":[]}','{"entityIds":[2],"names":["用户","用户姓名"],"detailData":{"dimensionIds":[1,2],"metricIds":[2]}}','[{"itemId":1,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":2,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":3,"type":"DIMENSION","blackList":[],"isDictInfo":true}]','2023-05-24 18:00:00','2023-05-25 11:00:00','admin','admin',1); insert into s2_chat_config (id, domain_id, default_metrics, visibility, entity_info, dictionary_info, created_at, updated_at, created_by, updated_by, status) values (2, 1, '[{"metricId":1,"unit":7,"period":"DAY"}]','{"blackDimIdList":[],"blackMetricIdList":[]}','{"entityIds":[2],"names":["用户","用户姓名"],"detailData":{"dimensionIds":[1,2],"metricIds":[2]}}','[{"itemId":1,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":2,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":3,"type":"DIMENSION","blackList":[],"isDictInfo":true}]','2023-05-24 18:00:00', '2023-05-25 11:00:00', 'admin', 'admin', 1 ); insert into s2_chat (chat_id, `chat_name`, create_time, last_time, creator,last_question,is_delete,is_top) values (1, '超音数访问统计','2023-06-10 10:00:52.495','2023-06-10 10:00:52','admin','您好,欢迎使用内容智能小Q','0','0');