优化材料库资料库表接口

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); 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 @Override
public String getKnowledgeBaseId(String companyCode) { public String getKnowledgeBaseIdByName(String companyCode) {
String workspaceId = config.getWorkspaceId(); String workspaceId = config.getWorkspaceId();
try { try {
Client client = clientFactory.createClient(); Client client = clientFactory.createClient();

View File

@@ -75,7 +75,7 @@ public class OaCompanyController extends BaseController {
if (oaCompanyService.save(oaCompany)) { if (oaCompanyService.save(oaCompany)) {
try { try {
//查询知识库 //查询知识库
String kbId = knowledgeBaseService.getKnowledgeBaseId(oaCompany.getCompanyCode()); String kbId = knowledgeBaseService.getKnowledgeBaseIdByName(oaCompany.getCompanyCode());
//新建知识库 //新建知识库
if(StrUtil.isEmpty(kbId)) { if(StrUtil.isEmpty(kbId)) {
kbId = knowledgeBaseService.createKnowledgeBase(oaCompany.getCompanyName(), oaCompany.getCompanyCode()); kbId = knowledgeBaseService.createKnowledgeBase(oaCompany.getCompanyName(), oaCompany.getCompanyCode());
@@ -99,7 +99,7 @@ public class OaCompanyController extends BaseController {
} }
if(StrUtil.isEmpty(oaCompany.getKbId())) { if(StrUtil.isEmpty(oaCompany.getKbId())) {
//查询知识库 //查询知识库
String kbId = knowledgeBaseService.getKnowledgeBaseId(oaCompany.getCompanyCode()); String kbId = knowledgeBaseService.getKnowledgeBaseIdByName(oaCompany.getCompanyCode());
//新建知识库 //新建知识库
if(StrUtil.isEmpty(kbId)) { if(StrUtil.isEmpty(kbId)) {
kbId = knowledgeBaseService.createKnowledgeBase(oaCompany.getCompanyName(), oaCompany.getCompanyCode()); 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.common.core.web.BaseController;
import com.gxwebsoft.pwl.service.PwlProjectLibraryService; import com.gxwebsoft.pwl.service.PwlProjectLibraryService;
import cn.hutool.core.util.StrUtil;
import com.gxwebsoft.pwl.entity.PwlProjectLibrary; import com.gxwebsoft.pwl.entity.PwlProjectLibrary;
import com.gxwebsoft.pwl.param.PwlProjectLibraryParam; 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.ApiResult;
import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam; 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.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; 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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -31,6 +36,9 @@ public class PwlProjectLibraryController extends BaseController {
@Resource @Resource
private PwlProjectLibraryService pwlProjectLibraryService; private PwlProjectLibraryService pwlProjectLibraryService;
@Resource
private KnowledgeBaseService knowledgeBaseService;
@PreAuthorize("hasAuthority('pwl:pwlProjectLibrary:list')") @PreAuthorize("hasAuthority('pwl:pwlProjectLibrary:list')")
@Operation(summary = "分页查询材料库资料库表") @Operation(summary = "分页查询材料库资料库表")
@GetMapping("/page") @GetMapping("/page")
@@ -65,6 +73,21 @@ public class PwlProjectLibraryController extends BaseController {
pwlProjectLibrary.setUserId(loginUser.getUserId()); pwlProjectLibrary.setUserId(loginUser.getUserId());
} }
if (pwlProjectLibraryService.save(pwlProjectLibrary)) { 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 success("添加成功");
} }
return fail("添加失败"); return fail("添加失败");
@@ -74,6 +97,18 @@ public class PwlProjectLibraryController extends BaseController {
@Operation(summary = "修改材料库资料库表") @Operation(summary = "修改材料库资料库表")
@PutMapping() @PutMapping()
public ApiResult<?> update(@RequestBody PwlProjectLibrary pwlProjectLibrary) { 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)) { if (pwlProjectLibraryService.updateById(pwlProjectLibrary)) {
return success("修改成功"); return success("修改成功");
} }