修复bug

This commit is contained in:
limin 2025-01-09 18:12:27 +08:00
parent 66aed1b0a5
commit 6511fce0ef
2 changed files with 19 additions and 0 deletions

View File

@ -94,6 +94,7 @@ public interface ErrorCodeConstants {
ErrorCode DATA_PROCESS_TASK_NAME_NOT_EXISTS = new ErrorCode(10038, "数据处理任务名称已存在");
ErrorCode FINE_TUNING_TASK_NAME_NOT_EXISTS = new ErrorCode(10039, "模型调优任务名称已存在");
ErrorCode LEARNING_RESOURCES_NAME_NOT_EXISTS = new ErrorCode(10040, "学习资源标题名称已存在");
ErrorCode KNOWLEDGE_BASE_NAME_NOT_EXISTS = new ErrorCode(10040, "知识库名称已存在");
}

View File

@ -9,15 +9,18 @@ import cn.iocoder.yudao.module.llm.controller.admin.knowledgebase.vo.KnowledgeBa
import cn.iocoder.yudao.module.llm.controller.admin.knowledgebase.vo.KnowledgeBaseSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.knowledgedocuments.vo.KnowledgeDocumentsRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.knowledgedocuments.vo.KnowledgeDocumentsSaveReqVO;
import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.knowledgebase.KnowledgeBaseDO;
import cn.iocoder.yudao.module.llm.dal.dataobject.knowledgedocuments.KnowledgeDocumentsDO;
import cn.iocoder.yudao.module.llm.dal.mysql.knowledgebase.KnowledgeBaseMapper;
import cn.iocoder.yudao.module.llm.dal.mysql.knowledgedocuments.KnowledgeDocumentsMapper;
import cn.iocoder.yudao.module.llm.service.async.AsyncKnowledgeBase;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.DATASET_NAME_EXISTS;
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.KNOWLEDGE_BASE_NOT_EXISTS;
import javax.annotation.Resource;
@ -43,6 +46,7 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
@Override
public Long createKnowledgeBase(KnowledgeBaseSaveReqVO createReqVO) {
validateKnowledgeBaseNameExists(createReqVO);
// 插入
KnowledgeBaseDO knowledgeBase = BeanUtils.toBean(createReqVO, KnowledgeBaseDO.class);
knowledgeBaseMapper.insert(knowledgeBase);
@ -54,6 +58,7 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
public void updateKnowledgeBase(KnowledgeBaseSaveReqVO updateReqVO) {
// 校验存在
validateKnowledgeBaseExists(updateReqVO.getId());
validateKnowledgeBaseNameExists(updateReqVO);
// 更新
KnowledgeBaseDO updateObj = BeanUtils.toBean(updateReqVO, KnowledgeBaseDO.class);
knowledgeBaseMapper.updateById(updateObj);
@ -107,6 +112,19 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
}
}
private void validateKnowledgeBaseNameExists(KnowledgeBaseSaveReqVO reqVO) {
LambdaQueryWrapper<KnowledgeBaseDO> wrapper = new LambdaQueryWrapper<KnowledgeBaseDO>()
.eq(KnowledgeBaseDO::getKnowledgeBaseName, reqVO.getKnowledgeBaseName());
if (reqVO.getId() != null){
wrapper.ne(KnowledgeBaseDO::getId, reqVO.getId());
}
List<KnowledgeBaseDO> knowledgeBaseDos = knowledgeBaseMapper.selectList(wrapper);
if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(knowledgeBaseDos)){
throw exception(KNOWLEDGE_BASE_NAME_NOT_EXISTS);
}
}
@Override
public KnowledgeBaseDO getKnowledgeBase(Long id) {
return knowledgeBaseMapper.selectById(id);