feat(llm): 添加知识库信息更新功能
- 新增 KnowledgeBaseController 中的 updateKnowledgeBaseInfo 方法 - 在 KnowledgeBaseService 接口中添加 updateKnowledgeBaseInfo 方法- 实现 KnowledgeBaseServiceImpl 中的 updateKnowledgeBaseInfo 方法 - 添加相关验证方法以确保知识库存在和名称不重复
This commit is contained in:
parent
7bd527e444
commit
acfa7524e0
@ -51,6 +51,14 @@ public class KnowledgeBaseController {
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PutMapping("/updateKnowledgeBaseInfo")
|
||||
@Operation(summary = "更新知识库")
|
||||
// @PreAuthorize("@ss.hasPermission('llm:knowledge-base:update')")
|
||||
public CommonResult<Boolean> updateKnowledgeBaseInfo(@Valid @RequestBody KnowledgeBaseSaveReqVO updateReqVO) {
|
||||
knowledgeBaseService.updateKnowledgeBaseInfo(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除知识库")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
|
@ -22,21 +22,21 @@ public interface KnowledgeBaseService {
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createKnowledgeBase(@Valid KnowledgeBaseSaveReqVO createReqVO);
|
||||
Long createKnowledgeBase (@Valid KnowledgeBaseSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新知识库
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateKnowledgeBase(@Valid KnowledgeBaseSaveReqVO updateReqVO);
|
||||
void updateKnowledgeBase (@Valid KnowledgeBaseSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除知识库
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteKnowledgeBase(Long id);
|
||||
void deleteKnowledgeBase (Long id);
|
||||
|
||||
/**
|
||||
* 获得知识库
|
||||
@ -44,7 +44,7 @@ public interface KnowledgeBaseService {
|
||||
* @param id 编号
|
||||
* @return 知识库
|
||||
*/
|
||||
KnowledgeBaseDO getKnowledgeBase(Long id);
|
||||
KnowledgeBaseDO getKnowledgeBase (Long id);
|
||||
|
||||
/**
|
||||
* 获得知识库分页
|
||||
@ -52,14 +52,22 @@ public interface KnowledgeBaseService {
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 知识库分页
|
||||
*/
|
||||
PageResult<KnowledgeBaseDO> getKnowledgeBasePage(KnowledgeBasePageReqVO pageReqVO);
|
||||
PageResult<KnowledgeBaseDO> getKnowledgeBasePage (KnowledgeBasePageReqVO pageReqVO);
|
||||
|
||||
List<KnowledgeBaseDO> getKnowledgeBaseList();
|
||||
List<KnowledgeBaseDO> getKnowledgeBaseList ();
|
||||
|
||||
/**
|
||||
* 返回知识库详情
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
KnowledgeBaseRespVO getKnowledgeBase1(Long id);
|
||||
KnowledgeBaseRespVO getKnowledgeBase1 (Long id);
|
||||
|
||||
/**
|
||||
* 更新知识库信息
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateKnowledgeBaseInfo (@Valid KnowledgeBaseSaveReqVO updateReqVO);
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
|
||||
List<Long> deleteIds = knowledgeDocumentsMapper.selectDeleteIds(updateReqVO.getId());
|
||||
asyncKnowledgeBase.createKnowledgeBase(newDocuments, deleteIds);
|
||||
// 4.5 异步处理知识库外挂
|
||||
// asyncKnowledgeBase.knowledgeEmbed(newDocuments,updateReqVO.getId());
|
||||
// asyncKnowledgeBase.knowledgeEmbed(newDocuments,updateReqVO.getId());
|
||||
} else {
|
||||
// 5. 如果传入的文档列表为空,则删除所有关联文档
|
||||
knowledgeDocumentsMapper.delete(new LambdaQueryWrapperX<KnowledgeDocumentsDO>()
|
||||
@ -211,4 +211,51 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新知识库信息
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
@Override
|
||||
public void updateKnowledgeBaseInfo (KnowledgeBaseSaveReqVO updateReqVO) {
|
||||
// 1. 校验知识库是否存在
|
||||
KnowledgeBaseDO knowledgeBaseDO = validateKnowledgeInfo(updateReqVO.getId());
|
||||
|
||||
// 2. 校验知识库名称是否重复
|
||||
validateKnowledgeBaseNameExists(updateReqVO);
|
||||
|
||||
// 3. 更新知识库主表
|
||||
updateKnowledgeBaseFields(knowledgeBaseDO, updateReqVO);
|
||||
|
||||
// 4. 执行更新
|
||||
knowledgeBaseMapper.updateById(knowledgeBaseDO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验知识库是否存在
|
||||
*
|
||||
* @param id 知识库ID
|
||||
* @return 知识库实体
|
||||
*/
|
||||
private KnowledgeBaseDO validateKnowledgeInfo (Long id) {
|
||||
KnowledgeBaseDO knowledgeBaseDO = knowledgeBaseMapper.selectById(id);
|
||||
if (knowledgeBaseDO == null) {
|
||||
throw exception(KNOWLEDGE_BASE_NOT_EXISTS);
|
||||
}
|
||||
return knowledgeBaseDO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新知识库字段
|
||||
*
|
||||
* @param knowledgeBaseDO 知识库实体
|
||||
* @param updateReqVO 更新请求VO
|
||||
*/
|
||||
private void updateKnowledgeBaseFields (KnowledgeBaseDO knowledgeBaseDO, KnowledgeBaseSaveReqVO updateReqVO) {
|
||||
// 基础信息只有名称、简介、logo会修改
|
||||
knowledgeBaseDO.setKnowledgeBaseName(updateReqVO.getKnowledgeBaseName())
|
||||
.setKnowledgeBaseIntro(updateReqVO.getKnowledgeBaseIntro())
|
||||
.setKnowledgeBaseLogo(updateReqVO.getKnowledgeBaseLogo());
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user