From c8e3460c5aefedfa45dc19a7a8d5720a10d0f058 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 23 Sep 2025 15:38:44 +0800
Subject: [PATCH] feat(ai): 引入LlmApplicationAppIdEnum枚举优化工作流类型管理

---
 src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java |   19 ++++++++++++++++++-
 1 files changed, 18 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..3b6013e 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,15 @@
 package cc.mrbird.febs.ai.service.impl;
 
+import cc.mrbird.febs.ai.entity.AiCompanyWorkflow;
+import cc.mrbird.febs.ai.enums.LlmApplicationAppIdEnum;
+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 +28,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 +43,16 @@
             throw new FebsException("百炼工作流初始化异常");
         }
 
+        String companyAppId = appId;
+        String companyId = dto.getCompanyId();
+        if (StrUtil.isNotEmpty(companyId)){
+            AiCompanyWorkflow workflowByTypeAndCompanyId =
+                    aiCompanyService.getWorkflowByTypeAndCompanyId(LlmApplicationAppIdEnum.ADMIN_QUESTION.getCode(), companyId);
+            companyAppId = workflowByTypeAndCompanyId.getCode();
+        }
+
+
+
         HashMap<String, Object> bizParams = new HashMap<>();
         bizParams.put(bizParam_1,dto.getQuestionCnt());
         bizParams.put(bizParam_2,dto.getPromptAiSystem());
@@ -45,7 +62,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