From 796686de10bae9cea3a3ee355a212deb143d72c3 Mon Sep 17 00:00:00 2001 From: yuance <182865460@qq.com> Date: Wed, 24 Sep 2025 17:56:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=9F=A5=E8=AF=86=E5=BA=93?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/KnowledgeBaseController.java | 15 +++++++++++-- .../ai/service/KnowledgeBaseService.java | 4 ++-- .../impl/KnowledgeBaseServiceImpl.java | 12 ++++++----- .../gxwebsoft/ai/util/KnowledgeBaseUtil.java | 4 +++- .../oa/controller/OaCompanyController.java | 21 +++++++++++-------- 5 files changed, 37 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/gxwebsoft/ai/controller/KnowledgeBaseController.java b/src/main/java/com/gxwebsoft/ai/controller/KnowledgeBaseController.java index 0f7f73f..a69fb5d 100644 --- a/src/main/java/com/gxwebsoft/ai/controller/KnowledgeBaseController.java +++ b/src/main/java/com/gxwebsoft/ai/controller/KnowledgeBaseController.java @@ -4,9 +4,17 @@ import com.gxwebsoft.ai.dto.KnowledgeBaseRequest; import com.gxwebsoft.ai.service.KnowledgeBaseService; import com.gxwebsoft.common.core.web.ApiResult; import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.enterprise.entity.Enterprise; + +import cn.hutool.core.convert.Convert; +import cn.hutool.core.map.MapUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import java.util.List; +import java.util.Map; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -42,9 +50,12 @@ public class KnowledgeBaseController extends BaseController { @Operation(summary = "查询知识库下的文档列表") @GetMapping("/documents") - public ApiResult listDocuments(String kbId) { + public ApiResult listDocuments(String kbId, Integer pageSize, Integer pageNumber) { try { - return success(knowledgeBaseService.listDocuments(kbId)); + Map map = knowledgeBaseService.listDocuments(kbId, pageSize, pageNumber); + List data = Convert.toList(Object.class, map.get("data")); + Long total = MapUtil.getLong(map, "total"); + return success(new PageResult(data, total)); } catch (Exception e) { return fail("查询文档列表失败:" + e.getMessage()); } diff --git a/src/main/java/com/gxwebsoft/ai/service/KnowledgeBaseService.java b/src/main/java/com/gxwebsoft/ai/service/KnowledgeBaseService.java index 320fe41..79139be 100644 --- a/src/main/java/com/gxwebsoft/ai/service/KnowledgeBaseService.java +++ b/src/main/java/com/gxwebsoft/ai/service/KnowledgeBaseService.java @@ -2,7 +2,7 @@ package com.gxwebsoft.ai.service; import com.gxwebsoft.ai.dto.KnowledgeBaseRequest; -import java.util.List; +import java.util.Map; import java.util.Set; import org.springframework.web.multipart.MultipartFile; @@ -37,7 +37,7 @@ public interface KnowledgeBaseService { /** * 查询知识库下的文档列表 */ - List listDocuments(String kbId); + Map listDocuments(String kbId, Integer pageSize, Integer pageNumber); /** * 删除知识库下的文档 diff --git a/src/main/java/com/gxwebsoft/ai/service/impl/KnowledgeBaseServiceImpl.java b/src/main/java/com/gxwebsoft/ai/service/impl/KnowledgeBaseServiceImpl.java index ad253b9..2ef0800 100644 --- a/src/main/java/com/gxwebsoft/ai/service/impl/KnowledgeBaseServiceImpl.java +++ b/src/main/java/com/gxwebsoft/ai/service/impl/KnowledgeBaseServiceImpl.java @@ -19,10 +19,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.Set; @Service @@ -107,13 +108,14 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService { } @Override - public List listDocuments(String kbId) { - List ret = new ArrayList<>(); + public Map listDocuments(String kbId, Integer pageSize, Integer pageNumber) { + Map ret = new HashMap<>(); String workspaceId = config.getWorkspaceId(); try { Client client = clientFactory.createClient(); - ListIndexDocumentsResponse indexDocumentsResponse = KnowledgeBaseUtil.listIndexDocuments(client, workspaceId, kbId); - ret.addAll(indexDocumentsResponse.getBody().getData().getDocuments()); + ListIndexDocumentsResponse indexDocumentsResponse = KnowledgeBaseUtil.listIndexDocuments(client, workspaceId, kbId, pageSize, pageNumber); + ret.put("data", indexDocumentsResponse.getBody().getData().getDocuments()); + ret.put("total", indexDocumentsResponse.getBody().getData().getTotalCount()); } catch (Exception e) { throw new RuntimeException("查询知识库下的文档列表失败: " + e.getMessage(), e); } diff --git a/src/main/java/com/gxwebsoft/ai/util/KnowledgeBaseUtil.java b/src/main/java/com/gxwebsoft/ai/util/KnowledgeBaseUtil.java index 76a028d..4724288 100644 --- a/src/main/java/com/gxwebsoft/ai/util/KnowledgeBaseUtil.java +++ b/src/main/java/com/gxwebsoft/ai/util/KnowledgeBaseUtil.java @@ -98,9 +98,11 @@ public class KnowledgeBaseUtil { * @param indexId 知识库ID * @return 阿里云百炼服务的响应 */ - public static ListIndexDocumentsResponse listIndexDocuments(com.aliyun.bailian20231229.Client client, String workspaceId, String indexId) throws Exception { + public static ListIndexDocumentsResponse listIndexDocuments(com.aliyun.bailian20231229.Client client, String workspaceId, String indexId, Integer pageSize, Integer pageNumber) throws Exception { com.aliyun.bailian20231229.models.ListIndexDocumentsRequest listIndexDocumentsRequest = new com.aliyun.bailian20231229.models.ListIndexDocumentsRequest(); listIndexDocumentsRequest.setIndexId(indexId); + listIndexDocumentsRequest.setPageSize(pageSize); + listIndexDocumentsRequest.setPageNumber(pageNumber); return client.listIndexDocuments(workspaceId, listIndexDocumentsRequest); } diff --git a/src/main/java/com/gxwebsoft/oa/controller/OaCompanyController.java b/src/main/java/com/gxwebsoft/oa/controller/OaCompanyController.java index d37c879..06a51eb 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/OaCompanyController.java +++ b/src/main/java/com/gxwebsoft/oa/controller/OaCompanyController.java @@ -73,16 +73,19 @@ public class OaCompanyController extends BaseController { return fail("单位唯一标识不能为空"); } if (oaCompanyService.save(oaCompany)) { - //查询知识库 - String kbId = knowledgeBaseService.getKnowledgeBaseId(oaCompany.getCompanyCode()); - //新建知识库 - if(StrUtil.isEmpty(kbId)) { - kbId = knowledgeBaseService.createKnowledgeBase(oaCompany.getCompanyName(), oaCompany.getCompanyCode()); + try { + //查询知识库 + String kbId = knowledgeBaseService.getKnowledgeBaseId(oaCompany.getCompanyCode()); + //新建知识库 + if(StrUtil.isEmpty(kbId)) { + kbId = knowledgeBaseService.createKnowledgeBase(oaCompany.getCompanyName(), oaCompany.getCompanyCode()); + } + //绑定知识库 + oaCompany.setKbId(kbId); + oaCompanyService.updateById(oaCompany); + } catch (Exception e) { + return fail("添加失败:"+e.getMessage()); } - //绑定知识库 - oaCompany.setKbId(kbId); - oaCompanyService.updateById(oaCompany); - return success("添加成功"); } return fail("添加失败");