diff --git a/src/main/java/com/gxwebsoft/ai/service/KnowledgeBaseService.java b/src/main/java/com/gxwebsoft/ai/service/KnowledgeBaseService.java index 79139be..6b325be 100644 --- a/src/main/java/com/gxwebsoft/ai/service/KnowledgeBaseService.java +++ b/src/main/java/com/gxwebsoft/ai/service/KnowledgeBaseService.java @@ -30,9 +30,9 @@ public interface KnowledgeBaseService { boolean existsKnowledgeBase(String companyCode); /** - * 查找知识库ID + * 通过知识库名称查询知识库ID */ - String getKnowledgeBaseId(String companyCode); + String getKnowledgeBaseIdByName(String companyCode); /** * 查询知识库下的文档列表 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 2ef0800..7dc1f7d 100644 --- a/src/main/java/com/gxwebsoft/ai/service/impl/KnowledgeBaseServiceImpl.java +++ b/src/main/java/com/gxwebsoft/ai/service/impl/KnowledgeBaseServiceImpl.java @@ -91,7 +91,7 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService { } @Override - public String getKnowledgeBaseId(String companyCode) { + public String getKnowledgeBaseIdByName(String companyCode) { String workspaceId = config.getWorkspaceId(); try { Client client = clientFactory.createClient(); diff --git a/src/main/java/com/gxwebsoft/oa/controller/OaCompanyController.java b/src/main/java/com/gxwebsoft/oa/controller/OaCompanyController.java index 06a51eb..865e778 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/OaCompanyController.java +++ b/src/main/java/com/gxwebsoft/oa/controller/OaCompanyController.java @@ -75,7 +75,7 @@ public class OaCompanyController extends BaseController { if (oaCompanyService.save(oaCompany)) { try { //查询知识库 - String kbId = knowledgeBaseService.getKnowledgeBaseId(oaCompany.getCompanyCode()); + String kbId = knowledgeBaseService.getKnowledgeBaseIdByName(oaCompany.getCompanyCode()); //新建知识库 if(StrUtil.isEmpty(kbId)) { kbId = knowledgeBaseService.createKnowledgeBase(oaCompany.getCompanyName(), oaCompany.getCompanyCode()); @@ -99,7 +99,7 @@ public class OaCompanyController extends BaseController { } if(StrUtil.isEmpty(oaCompany.getKbId())) { //查询知识库 - String kbId = knowledgeBaseService.getKnowledgeBaseId(oaCompany.getCompanyCode()); + String kbId = knowledgeBaseService.getKnowledgeBaseIdByName(oaCompany.getCompanyCode()); //新建知识库 if(StrUtil.isEmpty(kbId)) { kbId = knowledgeBaseService.createKnowledgeBase(oaCompany.getCompanyName(), oaCompany.getCompanyCode()); diff --git a/src/main/java/com/gxwebsoft/pwl/controller/PwlProjectLibraryController.java b/src/main/java/com/gxwebsoft/pwl/controller/PwlProjectLibraryController.java index 072543c..954aed9 100644 --- a/src/main/java/com/gxwebsoft/pwl/controller/PwlProjectLibraryController.java +++ b/src/main/java/com/gxwebsoft/pwl/controller/PwlProjectLibraryController.java @@ -2,8 +2,12 @@ package com.gxwebsoft.pwl.controller; import com.gxwebsoft.common.core.web.BaseController; import com.gxwebsoft.pwl.service.PwlProjectLibraryService; + +import cn.hutool.core.util.StrUtil; + import com.gxwebsoft.pwl.entity.PwlProjectLibrary; import com.gxwebsoft.pwl.param.PwlProjectLibraryParam; +import com.gxwebsoft.ai.service.KnowledgeBaseService; import com.gxwebsoft.common.core.web.ApiResult; import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.common.core.web.PageParam; @@ -12,6 +16,7 @@ import com.gxwebsoft.common.system.entity.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -30,6 +35,9 @@ import java.util.List; public class PwlProjectLibraryController extends BaseController { @Resource private PwlProjectLibraryService pwlProjectLibraryService; + + @Resource + private KnowledgeBaseService knowledgeBaseService; @PreAuthorize("hasAuthority('pwl:pwlProjectLibrary:list')") @Operation(summary = "分页查询材料库资料库表") @@ -65,6 +73,21 @@ public class PwlProjectLibraryController extends BaseController { pwlProjectLibrary.setUserId(loginUser.getUserId()); } if (pwlProjectLibraryService.save(pwlProjectLibrary)) { + try { + //kbName = biz00000000001 + String kbName = pwlProjectLibrary.getType() + StrUtil.padPre(pwlProjectLibrary.getId().toString(), 11, '0'); + //通过知识库名称查询知识库 + String kbId = knowledgeBaseService.getKnowledgeBaseIdByName(kbName); + //新建知识库 + if(StrUtil.isEmpty(kbId)) { + kbId = knowledgeBaseService.createKnowledgeBase(kbName, pwlProjectLibrary.getName()); + } + //绑定知识库 + pwlProjectLibrary.setKbId(kbId); + pwlProjectLibraryService.updateById(pwlProjectLibrary); + } catch (Exception e) { + return fail("未绑定知识库:"+e.getMessage()); + } return success("添加成功"); } return fail("添加失败"); @@ -74,6 +97,18 @@ public class PwlProjectLibraryController extends BaseController { @Operation(summary = "修改材料库资料库表") @PutMapping() public ApiResult update(@RequestBody PwlProjectLibrary pwlProjectLibrary) { + if(StrUtil.isEmpty(pwlProjectLibrary.getKbId())) { + //kbName = biz00000000001 + String kbName = pwlProjectLibrary.getType() + StrUtil.padPre(pwlProjectLibrary.getId().toString(), 11, '0'); + //通过知识库名称查询知识库 + String kbId = knowledgeBaseService.getKnowledgeBaseIdByName(kbName); + //新建知识库 + if(StrUtil.isEmpty(kbId)) { + kbId = knowledgeBaseService.createKnowledgeBase(kbName, pwlProjectLibrary.getName()); + } + //绑定知识库 + pwlProjectLibrary.setKbId(kbId); + } if (pwlProjectLibraryService.updateById(pwlProjectLibrary)) { return success("修改成功"); }