优化材料库资料库表接口

This commit is contained in:
2025-09-28 10:57:53 +08:00
parent c9038b10ab
commit 1b8e9a76fd
4 changed files with 40 additions and 5 deletions

View File

@@ -30,9 +30,9 @@ public interface KnowledgeBaseService {
boolean existsKnowledgeBase(String companyCode);
/**
* 查找知识库ID
* 通过知识库名称查询知识库ID
*/
String getKnowledgeBaseId(String companyCode);
String getKnowledgeBaseIdByName(String companyCode);
/**
* 查询知识库下的文档列表

View File

@@ -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();

View File

@@ -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());

View File

@@ -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.*;
@@ -31,6 +36,9 @@ public class PwlProjectLibraryController extends BaseController {
@Resource
private PwlProjectLibraryService pwlProjectLibraryService;
@Resource
private KnowledgeBaseService knowledgeBaseService;
@PreAuthorize("hasAuthority('pwl:pwlProjectLibrary:list')")
@Operation(summary = "分页查询材料库资料库表")
@GetMapping("/page")
@@ -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("修改成功");
}