From b0728aba5c01842e24da3cff04e44be06c6bb655 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 19 三月 2026 13:38:38 +0800
Subject: [PATCH] #AI.去除多余mcp

---
 rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java      |   13 +-----
 rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java |   38 +++----------------
 version/db/ai_feature.sql                                                                       |   31 ++++-----------
 rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java                       |    3 -
 rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx                                         |    3 -
 5 files changed, 16 insertions(+), 72 deletions(-)

diff --git a/rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx b/rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx
index b11f4d1..fe4179d 100644
--- a/rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx
+++ b/rsf-admin/src/page/system/aiMcpMount/AiMcpMountForm.jsx
@@ -95,9 +95,6 @@
                                     label="ai.mcp.fields.builtinCode"
                                     choices={[
                                         { id: "RSF_WMS", name: "RSF_WMS" },
-                                        { id: "RSF_WMS_STOCK", name: "RSF_WMS_STOCK" },
-                                        { id: "RSF_WMS_TASK", name: "RSF_WMS_TASK" },
-                                        { id: "RSF_WMS_BASE", name: "RSF_WMS_BASE" },
                                     ]}
                                     fullWidth
                                     disabled={readOnly}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java
index 487a7a8..444d930 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/config/AiDefaults.java
@@ -11,9 +11,6 @@
     public static final String MCP_TRANSPORT_STDIO = "STDIO";
     public static final String MCP_TRANSPORT_BUILTIN = "BUILTIN";
     public static final String MCP_BUILTIN_RSF_WMS = "RSF_WMS";
-    public static final String MCP_BUILTIN_RSF_WMS_STOCK = "RSF_WMS_STOCK";
-    public static final String MCP_BUILTIN_RSF_WMS_TASK = "RSF_WMS_TASK";
-    public static final String MCP_BUILTIN_RSF_WMS_BASE = "RSF_WMS_BASE";
     public static final String MCP_HEALTH_NOT_TESTED = "NOT_TESTED";
     public static final String MCP_HEALTH_HEALTHY = "HEALTHY";
     public static final String MCP_HEALTH_UNHEALTHY = "UNHEALTHY";
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java
index 3ef9423..e358929 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiMcpMountServiceImpl.java
@@ -298,19 +298,10 @@
     }
 
     private List<String> resolveConflictCodes(String builtinCode) {
-        List<String> codes = new ArrayList<>();
         if (AiDefaults.MCP_BUILTIN_RSF_WMS.equals(builtinCode)) {
-            codes.add(AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK);
-            codes.add(AiDefaults.MCP_BUILTIN_RSF_WMS_TASK);
-            codes.add(AiDefaults.MCP_BUILTIN_RSF_WMS_BASE);
-            return codes;
+            return List.of();
         }
-        if (AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK.equals(builtinCode)
-                || AiDefaults.MCP_BUILTIN_RSF_WMS_TASK.equals(builtinCode)
-                || AiDefaults.MCP_BUILTIN_RSF_WMS_BASE.equals(builtinCode)) {
-            codes.add(AiDefaults.MCP_BUILTIN_RSF_WMS);
-        }
-        return codes;
+        throw new CoolException("涓嶆敮鎸佺殑鍐呯疆 MCP 缂栫爜: " + builtinCode);
     }
 
     private void ensureTenantId(Long tenantId) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java
index 41f0d52..2c4b725 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/BuiltinMcpToolRegistryImpl.java
@@ -44,19 +44,10 @@
         validateBuiltinCode(builtinCode);
         if (AiDefaults.MCP_BUILTIN_RSF_WMS.equals(builtinCode)) {
             List<ToolCallback> callbacks = new ArrayList<>();
-            callbacks.addAll(createValidatedCallbacks(rsfWmsStockTools, AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK));
-            callbacks.addAll(createValidatedCallbacks(rsfWmsTaskTools, AiDefaults.MCP_BUILTIN_RSF_WMS_TASK));
-            callbacks.addAll(createValidatedCallbacks(rsfWmsBaseTools, AiDefaults.MCP_BUILTIN_RSF_WMS_BASE));
+            callbacks.addAll(createValidatedCallbacks(rsfWmsStockTools, builtinCode));
+            callbacks.addAll(createValidatedCallbacks(rsfWmsTaskTools, builtinCode));
+            callbacks.addAll(createValidatedCallbacks(rsfWmsBaseTools, builtinCode));
             return callbacks;
-        }
-        if (AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK.equals(builtinCode)) {
-            return createValidatedCallbacks(rsfWmsStockTools, builtinCode);
-        }
-        if (AiDefaults.MCP_BUILTIN_RSF_WMS_TASK.equals(builtinCode)) {
-            return createValidatedCallbacks(rsfWmsTaskTools, builtinCode);
-        }
-        if (AiDefaults.MCP_BUILTIN_RSF_WMS_BASE.equals(builtinCode)) {
-            return createValidatedCallbacks(rsfWmsBaseTools, builtinCode);
         }
         throw new CoolException("涓嶆敮鎸佺殑鍐呯疆 MCP 缂栫爜: " + builtinCode);
     }
@@ -65,11 +56,7 @@
     public List<AiMcpToolPreviewDto> listBuiltinToolCatalog(String builtinCode) {
         validateBuiltinCode(builtinCode);
         if (AiDefaults.MCP_BUILTIN_RSF_WMS.equals(builtinCode)) {
-            List<AiMcpToolPreviewDto> catalog = new ArrayList<>();
-            catalog.addAll(catalogByBuiltinCode(AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK).values());
-            catalog.addAll(catalogByBuiltinCode(AiDefaults.MCP_BUILTIN_RSF_WMS_TASK).values());
-            catalog.addAll(catalogByBuiltinCode(AiDefaults.MCP_BUILTIN_RSF_WMS_BASE).values());
-            return catalog;
+            return new ArrayList<>(catalogByBuiltinCode(builtinCode).values());
         }
         return new ArrayList<>(catalogByBuiltinCode(builtinCode).values());
     }
@@ -93,16 +80,11 @@
     }
 
     private List<String> supportedBuiltinCodes() {
-        return List.of(
-                AiDefaults.MCP_BUILTIN_RSF_WMS,
-                AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK,
-                AiDefaults.MCP_BUILTIN_RSF_WMS_TASK,
-                AiDefaults.MCP_BUILTIN_RSF_WMS_BASE
-        );
+        return List.of(AiDefaults.MCP_BUILTIN_RSF_WMS);
     }
 
     private Map<String, AiMcpToolPreviewDto> catalogByBuiltinCode(String builtinCode) {
-        if (AiDefaults.MCP_BUILTIN_RSF_WMS_STOCK.equals(builtinCode)) {
+        if (AiDefaults.MCP_BUILTIN_RSF_WMS.equals(builtinCode)) {
             Map<String, AiMcpToolPreviewDto> catalog = new LinkedHashMap<>();
             catalog.put("rsf_query_available_inventory", buildCatalogItem(
                     "rsf_query_available_inventory",
@@ -118,10 +100,6 @@
                     "蹇呴』鎻愪緵绔欑偣绫诲瀷鍒楄〃锛岀被鍨嬫暟閲忔渶澶� 10 涓紝鏈�澶氳繑鍥� 50 涓珯鐐广��",
                     List.of("鏌ヨ鍏ュ簱鍜屽嚭搴撲綔涓氬彲鐢ㄧ珯鐐�", "鍒楀嚭 AGV_PICK 绫诲瀷鐨勪綔涓氱珯鐐�")
             ));
-            return catalog;
-        }
-        if (AiDefaults.MCP_BUILTIN_RSF_WMS_TASK.equals(builtinCode)) {
-            Map<String, AiMcpToolPreviewDto> catalog = new LinkedHashMap<>();
             catalog.put("rsf_query_task_list", buildCatalogItem(
                     "rsf_query_task_list",
                     "浠诲姟鏌ヨ",
@@ -136,10 +114,6 @@
                     "蹇呴』鎻愪緵浠诲姟 ID 鎴栦换鍔″彿涔嬩竴锛屽彧杩斿洖鍗曚釜浠诲姟銆�",
                     List.of("鏌ヨ浠诲姟 12345 鐨勮鎯�", "鏍规嵁浠诲姟鍙� TASK24001 鏌ョ湅鎵ц鏄庣粏")
             ));
-            return catalog;
-        }
-        if (AiDefaults.MCP_BUILTIN_RSF_WMS_BASE.equals(builtinCode)) {
-            Map<String, AiMcpToolPreviewDto> catalog = new LinkedHashMap<>();
             catalog.put("rsf_query_warehouses", buildCatalogItem(
                     "rsf_query_warehouses",
                     "鍩虹璧勬枡",
diff --git a/version/db/ai_feature.sql b/version/db/ai_feature.sql
index ab0819b..dd141fb 100644
--- a/version/db/ai_feature.sql
+++ b/version/db/ai_feature.sql
@@ -406,29 +406,14 @@
   WHERE `tenant_id` = 1 AND `transport_type` = 'BUILTIN' AND `builtin_code` = 'RSF_WMS' AND `deleted` = 0
 );
 
-INSERT INTO `sys_ai_mcp_mount`
-(`name`, `transport_type`, `builtin_code`, `request_timeout_ms`, `sort`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)
-SELECT 'RSF WMS 搴撳瓨浣滀笟鍐呯疆 MCP', 'BUILTIN', 'RSF_WMS_STOCK', 60000, 1, 1, 0, 0, '2026-03-19 10:00:00', 2, '2026-03-19 10:00:00', 2, '鍐呯疆搴撳瓨鏌ヨ鍜岀珯鐐规煡璇㈠伐鍏�'
-WHERE NOT EXISTS (
-  SELECT 1 FROM `sys_ai_mcp_mount`
-  WHERE `tenant_id` = 1 AND `transport_type` = 'BUILTIN' AND `builtin_code` = 'RSF_WMS_STOCK' AND `deleted` = 0
-);
-
-INSERT INTO `sys_ai_mcp_mount`
-(`name`, `transport_type`, `builtin_code`, `request_timeout_ms`, `sort`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)
-SELECT 'RSF WMS 浠诲姟鏌ヨ鍐呯疆 MCP', 'BUILTIN', 'RSF_WMS_TASK', 60000, 2, 1, 0, 0, '2026-03-19 10:00:00', 2, '2026-03-19 10:00:00', 2, '鍐呯疆浠诲姟鍒楄〃涓庝换鍔¤鎯呮煡璇㈠伐鍏�'
-WHERE NOT EXISTS (
-  SELECT 1 FROM `sys_ai_mcp_mount`
-  WHERE `tenant_id` = 1 AND `transport_type` = 'BUILTIN' AND `builtin_code` = 'RSF_WMS_TASK' AND `deleted` = 0
-);
-
-INSERT INTO `sys_ai_mcp_mount`
-(`name`, `transport_type`, `builtin_code`, `request_timeout_ms`, `sort`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)
-SELECT 'RSF WMS 鍩虹璧勬枡鍐呯疆 MCP', 'BUILTIN', 'RSF_WMS_BASE', 60000, 3, 1, 0, 0, '2026-03-19 10:00:00', 2, '2026-03-19 10:00:00', 2, '鍐呯疆浠撳簱銆佸熀纭�绔欑偣鍜屽瓧鍏告暟鎹煡璇㈠伐鍏�'
-WHERE NOT EXISTS (
-  SELECT 1 FROM `sys_ai_mcp_mount`
-  WHERE `tenant_id` = 1 AND `transport_type` = 'BUILTIN' AND `builtin_code` = 'RSF_WMS_BASE' AND `deleted` = 0
-);
+UPDATE `sys_ai_mcp_mount`
+SET `status` = 0,
+    `update_time` = '2026-03-19 10:00:00',
+    `update_by` = 2,
+    `memo` = '宸蹭笅绾匡紝浠呬繚鐣� RSF_WMS 鍐呯疆 MCP'
+WHERE `transport_type` = 'BUILTIN'
+  AND `builtin_code` IN ('RSF_WMS_STOCK', 'RSF_WMS_TASK', 'RSF_WMS_BASE')
+  AND `deleted` = 0;
 
 INSERT INTO `sys_menu`
 (`id`, `name`, `parent_id`, `parent_name`, `path`, `path_name`, `route`, `component`, `brief`, `code`, `type`, `authority`, `icon`, `sort`, `meta`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)

--
Gitblit v1.9.1