吴树波 3 dienas atpakaļ
vecāks
revīzija
76dde8ef50

+ 0 - 3
fs-company/src/main/java/com/fs/company/controller/fastGpt/FastgptChatArtificialWordsCompanyController.java

@@ -60,9 +60,6 @@ public class FastgptChatArtificialWordsCompanyController extends BaseController
     @Autowired
     private TokenService tokenService;
 
-    @Autowired
-    private IdentityHidingService identityHidingService;
-
     /**
      * 查询转人工关键词列表(租户隔离)
      * 自动注入当前租户的company_id,只返回该租户的关键词

+ 23 - 1
fs-service/src/main/java/com/fs/company/service/workflow/heartbeat/impl/HeartbeatSchedulerImpl.java

@@ -1,6 +1,8 @@
 package com.fs.company.service.workflow.heartbeat.impl;
 
 import com.fs.company.mapper.LobsterAuxiliaryMapper;
+import com.fs.company.service.workflow.heartbeat.HeartbeatConfig;
+import com.fs.company.service.workflow.heartbeat.HeartbeatScheduler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -10,7 +12,7 @@ import org.springframework.stereotype.Service;
 import java.util.*;
 
 @Service
-public class HeartbeatSchedulerImpl {
+public class HeartbeatSchedulerImpl implements HeartbeatScheduler {
 
     private static final Logger log = LoggerFactory.getLogger(HeartbeatSchedulerImpl.class);
 
@@ -49,4 +51,24 @@ public class HeartbeatSchedulerImpl {
         if (auxMapper == null) return;
         auxMapper.updateHeartbeat(companyId, taskKey, status);
     }
+
+    @Override
+    public void registerInstance(Long companyId, Long instanceId, HeartbeatConfig config) {
+
+    }
+
+    @Override
+    public void unregisterInstance(Long instanceId) {
+
+    }
+
+    @Override
+    public void checkAndExecute() {
+
+    }
+
+    @Override
+    public Map<String, Object> getHeartbeatStatus(Long instanceId) {
+        return Map.of();
+    }
 }

+ 39 - 1
fs-service/src/main/java/com/fs/company/service/workflow/identity/impl/IdentityHidingServiceImpl.java

@@ -1,13 +1,16 @@
 package com.fs.company.service.workflow.identity.impl;
 
 import com.fs.company.mapper.LobsterAuxiliaryMapper;
+import com.fs.company.service.workflow.identity.IdentityHidingService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Map;
+
 @Service
-public class IdentityHidingServiceImpl {
+public class IdentityHidingServiceImpl implements IdentityHidingService {
 
     private static final Logger logger = LoggerFactory.getLogger(IdentityHidingServiceImpl.class);
 
@@ -18,4 +21,39 @@ public class IdentityHidingServiceImpl {
     public String getSafeSystemPrompt() { return "你是专业的销售顾问"; }
     public String getSafeErrorMessage(Object ctx, String code) { return "系统繁忙,请稍后再试"; }
     public String hideIdentity(String text) { return text; }
+
+    @Override
+    public String hideIdentity(Long companyId, String message, Map<String, Object> context) {
+        return "";
+    }
+
+    @Override
+    public String getSafeSystemPrompt(Long companyId) {
+        return "";
+    }
+
+    @Override
+    public String getSafeHandoffMessage(Long companyId, String urgency) {
+        return "";
+    }
+
+    @Override
+    public String getSafeErrorMessage(Long companyId, String errorType) {
+        return "";
+    }
+
+    @Override
+    public long calculateHumanLikeDelay(String message, Map<String, Object> context) {
+        return 0;
+    }
+
+    @Override
+    public Map<String, Object> getIdentityConfig(Long companyId) {
+        return Map.of();
+    }
+
+    @Override
+    public void updateIdentityConfig(Long companyId, Map<String, Object> config) {
+
+    }
 }

+ 17 - 1
fs-service/src/main/java/com/fs/company/service/workflow/impl/DynamicNodeAdjusterImpl.java

@@ -1,6 +1,7 @@
 package com.fs.company.service.workflow.impl;
 
 import com.fs.company.mapper.LobsterAuxiliaryMapper;
+import com.fs.company.service.workflow.DynamicNodeAdjuster;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,7 +12,7 @@ import java.util.List;
 import java.util.Map;
 
 @Service
-public class DynamicNodeAdjusterImpl {
+public class DynamicNodeAdjusterImpl implements DynamicNodeAdjuster {
 
     private static final Logger logger = LoggerFactory.getLogger(DynamicNodeAdjusterImpl.class);
 
@@ -22,4 +23,19 @@ public class DynamicNodeAdjusterImpl {
         if (auxMapper == null) return new ArrayList<>();
         return auxMapper.selectDynamicImpls(companyId, null);
     }
+
+    @Override
+    public AdjustmentResult adjustNode(Long instanceId, Long companyId, String externalUserId, String customerMessage, String currentNodeCode, Map<String, Object> variables) {
+        return null;
+    }
+
+    @Override
+    public boolean shouldTransferToHuman(String customerMessage, Map<String, Object> variables) {
+        return false;
+    }
+
+    @Override
+    public String detectIntent(String customerMessage) {
+        return "";
+    }
 }

+ 27 - 1
fs-service/src/main/java/com/fs/company/service/workflow/impl/ToolCallFrameworkImpl.java

@@ -1,6 +1,7 @@
 package com.fs.company.service.workflow.impl;
 
 import com.fs.company.mapper.LobsterToolCallMapper;
+import com.fs.company.service.workflow.ToolCallFramework;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -9,7 +10,7 @@ import org.springframework.stereotype.Service;
 import java.util.*;
 
 @Service
-public class ToolCallFrameworkImpl {
+public class ToolCallFrameworkImpl implements ToolCallFramework {
 
     private static final Logger logger = LoggerFactory.getLogger(ToolCallFrameworkImpl.class);
 
@@ -53,4 +54,29 @@ public class ToolCallFrameworkImpl {
             default: return "未知";
         }
     }
+
+    @Override
+    public ToolCallResult executeTool(String toolName, Map<String, Object> parameters, Long companyId) {
+        return null;
+    }
+
+    @Override
+    public boolean isToolAvailable(String toolName, Long companyId) {
+        return false;
+    }
+
+    @Override
+    public List<Map<String, Object>> getAvailableTools(Long companyId) {
+        return List.of();
+    }
+
+    @Override
+    public void registerTool(Long companyId, String toolName, String toolType, Map<String, Object> config) {
+
+    }
+
+    @Override
+    public Map<String, Object> extractToolCall(String aiReply) {
+        return Map.of();
+    }
 }

+ 1 - 1
fs-service/src/main/resources/mapper/company/LobsterSystemPromptMapper.xml

@@ -111,7 +111,7 @@
         ON DUPLICATE KEY UPDATE content = VALUES(content), update_time = NOW()
     </insert>
 
-    <select id="selectByScope" resultMap="BaseResultMap">
+    <select id="selectByScope" resultMap="LobsterSystemPromptResult">
         SELECT * FROM lobster_prompt_config WHERE scope = #{scope} AND company_id = #{companyId} AND deleted = 0
     </select>