From e2a0ea3a333e46b22152d1e90356db4d2cda5f66 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 29 Sep 2025 14:03:18 +0800 Subject: [PATCH] feat(ai): 新增阿里云百炼知识库工具类 - 添加 KnowledgeBaseUtil 工具类,封装阿里云百炼知识库操作 - 实现文件上传、知识库创建与更新等核心功能 - 支持文件MD5计算、分类管理、索引任务提交与状态查询 - 集成阿里云百炼SDK依赖,版本为2.5.0 - 提供完整的知识库初始化与文件更新流程示例 - 添加文件解析状态轮询与错误处理机制 - 支持知识库中文档的追加导入与旧文档删除功能 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java | 24 +++++++++++++++++++----- 1 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java index 5ab494e..3135b2e 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java @@ -55,6 +55,9 @@ if (StrUtil.isNotEmpty(dto.getProductCategoryId())){ query.eq(AiProduct::getProductCategoryId, dto.getProductCategoryId()); } + if (StrUtil.isNotEmpty(dto.getCompanyId())){ + query.eq(AiProduct::getCompanyId, dto.getCompanyId()); + } query.ne(AiProduct::getState, 2); query.orderByDesc(AiProduct::getHotState); query.orderByAsc(AiProduct::getSort); @@ -158,11 +161,13 @@ } @Override - public List<AiProduct> selectList() { - return aiProductMapper.selectList( - Wrappers.lambdaQuery(AiProduct.class) - .ne(AiProduct::getState, 2) - ); + public List<AiProduct> selectList(String companyId) { + LambdaQueryWrapper<AiProduct> query = Wrappers.lambdaQuery(AiProduct.class); + if (StrUtil.isNotEmpty(companyId)){ + query.eq(AiProduct::getCompanyId, companyId); + } + query.ne(AiProduct::getState, 2); + return aiProductMapper.selectList(query); } @Override @@ -172,15 +177,18 @@ List<String> chooseIds = dto.getChooseIds(); AiProduct aiProduct = this.getById(chooseId); if (ObjectUtil.isNotNull(aiProduct)) { + String companyId = aiProduct.getCompanyId(); aiProductPointLinkService.deleteByQuery( Wrappers.lambdaQuery(AiProductPointLink.class) .eq(AiProductPointLink::getProductId,chooseId) + .eq(AiProductPointLink::getCompanyId,companyId) ); if(CollUtil.isNotEmpty(chooseIds)){ Date createdTime = new Date(); for (String item : chooseIds){ AiProductPointLink entity = new AiProductPointLink(); entity.setId(UUID.getSimpleUUIDString()); + entity.setCompanyId(companyId); entity.setProductId(chooseId); entity.setProductPointId(item); entity.setCreatedTime(createdTime); @@ -198,15 +206,18 @@ List<String> chooseIds = dto.getChooseIds(); AiProduct aiProduct = this.getById(chooseId); if (ObjectUtil.isNotNull(aiProduct)) { + String companyId = aiProduct.getCompanyId(); aiProductRoleLinkService.deleteByQuery( Wrappers.lambdaQuery(AiProductRoleLink.class) .eq(AiProductRoleLink::getProductId,chooseId) + .eq(AiProductRoleLink::getCompanyId,companyId) ); if(CollUtil.isNotEmpty(chooseIds)){ Date createdTime = new Date(); for (String item : chooseIds){ AiProductRoleLink entity = new AiProductRoleLink(); entity.setId(UUID.getSimpleUUIDString()); + entity.setCompanyId(companyId); entity.setProductId(chooseId); entity.setProductRoleId(item); entity.setCreatedTime(createdTime); @@ -223,15 +234,18 @@ List<String> chooseIds = dto.getChooseIds(); AiProduct aiProduct = this.getById(chooseId); if (ObjectUtil.isNotNull(aiProduct)) { + String companyId = aiProduct.getCompanyId(); aiProductQuestionLinkService.deleteByQuery( Wrappers.lambdaQuery(AiProductQuestionLink.class) .eq(AiProductQuestionLink::getProductId,chooseId) + .eq(AiProductQuestionLink::getCompanyId,companyId) ); if(CollUtil.isNotEmpty(chooseIds)){ Date createdTime = new Date(); for (String item : chooseIds){ AiProductQuestionLink entity = new AiProductQuestionLink(); entity.setId(UUID.getSimpleUUIDString()); + entity.setCompanyId(companyId); entity.setProductId(chooseId); entity.setProductQuestionId(item); entity.setCreatedTime(createdTime); -- Gitblit v1.9.1