Browse Source

bugFix 解决报错的问题

xiahan 1 year ago
parent
commit
6b2218d099

+ 13 - 1
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/impl/KnowledgeBaseServiceImpl.java

@@ -61,8 +61,14 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
         if (!KB_MODEL_ID.equals(systemId)) {
             // 找到所有的数据字典
             List<KnowledgeBaseVo> dictSqlList = searchBasicInfo.stream().filter(info -> SELECT.equals(info.getControlType()) && (DICT.equals(info.getEnumType()) || SQL.equals(info.getEnumType()))).collect(Collectors.toList());
+            List<KBDictDataVo> selectInfo;
+            if(!dictSqlList.isEmpty()){
+                selectInfo = kbKnowledgebaseSearchKeywordsDao.getSelectInfo(dictSqlList);
+            } else {
+                selectInfo = new ArrayList<>();
+            }
             // 使用数据字典替换掉searchBasicInfo 的searchValue
-            List<KBDictDataVo> selectInfo = kbKnowledgebaseSearchKeywordsDao.getSelectInfo(dictSqlList);
+
             // 设置下拉选的搜索条件
             searchBasicInfo.forEach(info -> {
                 if (SELECT.equals(info.getControlType()) && (DICT.equals(info.getEnumType()) || SQL.equals(info.getEnumType()))) {
@@ -102,6 +108,12 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
         });
 
         int limitPage = knowledgeBaseSearchVo.getPageNum() == 0 ? 0 : (knowledgeBaseSearchVo.getPageNum() - 1) * knowledgeBaseSearchVo.getPageSize();
+        if(kbSearchVos.isEmpty()){
+            return R.ok(new HashMap<String,Object>(){{
+                put("data",new ArrayList<>());
+                put("total",0);
+            }});
+        }
         List<KBResultVo> kbData = kbKnowledgebaseSearchKeywordsDao.getKbData(kbSearchVos, systemId,
                 knowledgeBaseSearchVo.getOrderRules(), limitPage, knowledgeBaseSearchVo.getPageSize(),searchContent);
         int length = kbKnowledgebaseSearchKeywordsDao.getKbDataLength(kbSearchVos, systemId,searchContent);