From 2cab7be62a04f9cc7af2c2540eebf3d548c81519 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Tue, 23 Sep 2025 15:00:49 +0800 Subject: [PATCH] feat(ai): 新增根据类型和公司ID查询工作流功能- 在AiCompanyService接口中添加getWorkflowByTypeAndCompanyId方法 - 实现类AiCompanyServiceImpl中增加对应查询逻辑 - 在AiServiceImpl中调用新方法获取公司特定应用ID - 更新百炼API调用逻辑以支持动态应用ID - 为新工作流类型5添加初始化配置 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java index 75d87dd..931084e 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java @@ -1,10 +1,14 @@ package cc.mrbird.febs.ai.service.impl; +import cc.mrbird.febs.ai.entity.AiCompanyWorkflow; +import cc.mrbird.febs.ai.mapper.AiCompanyWorkflowMapper; import cc.mrbird.febs.ai.req.AiProductQuestionAiDto; +import cc.mrbird.febs.ai.service.AiCompanyService; import cc.mrbird.febs.ai.service.AiService; import cc.mrbird.febs.common.exception.FebsException; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.dashscope.app.Application; import com.alibaba.dashscope.app.ApplicationParam; import com.alibaba.dashscope.app.ApplicationResult; @@ -23,6 +27,8 @@ @RequiredArgsConstructor public class AiServiceImpl implements AiService { + private final AiCompanyService aiCompanyService; + private static final String apiKey = "sk-babdcf8799144134915cee2683794b2f"; private static final String appId = "963b854d994a4f578d8207cd477a2464"; @@ -36,6 +42,15 @@ throw new FebsException("百炼工作流初始化异常"); } + String companyAppId = appId; + String companyId = dto.getCompanyId(); + if (StrUtil.isNotEmpty(companyId)){ + AiCompanyWorkflow workflowByTypeAndCompanyId = aiCompanyService.getWorkflowByTypeAndCompanyId(5, companyId); + companyAppId = workflowByTypeAndCompanyId.getCode(); + } + + + HashMap<String, Object> bizParams = new HashMap<>(); bizParams.put(bizParam_1,dto.getQuestionCnt()); bizParams.put(bizParam_2,dto.getPromptAiSystem()); @@ -45,7 +60,7 @@ ApplicationParam param = ApplicationParam.builder() // 若没有配置环境变量,可用百炼API Key将下行替换为:.apiKey("sk-xxx")。但不建议在生产环境中直接将API Key硬编码到代码中,以减少API Key泄露风险。 .apiKey(apiKey) - .appId(appId) //替换为实际的应用 ID + .appId(companyAppId) //替换为实际的应用 ID .flowStreamMode(FlowStreamMode.MESSAGE_FORMAT) .prompt(query) .bizParams(JsonUtils.toJsonObject( bizParams)) -- Gitblit v1.9.1