From 05148eeef860d33232874a640dbd67ba43ac5686 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 19 三月 2026 12:51:49 +0800
Subject: [PATCH] #AI.配置中心可运营化

---
 version/db/ai_feature.sql |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/version/db/ai_feature.sql b/version/db/ai_feature.sql
index 35b3112..8ca9631 100644
--- a/version/db/ai_feature.sql
+++ b/version/db/ai_feature.sql
@@ -13,6 +13,10 @@
   `max_tokens` int(11) DEFAULT NULL COMMENT '鏈�澶oken',
   `timeout_ms` int(11) DEFAULT NULL COMMENT '瓒呮椂鏃堕棿',
   `streaming_enabled` tinyint(1) DEFAULT '1' COMMENT '鏄惁鍚敤娴佸紡鍝嶅簲',
+  `validate_status` varchar(32) DEFAULT 'NOT_TESTED' COMMENT '鏈�杩戞牎楠岀姸鎬�',
+  `last_validate_message` varchar(500) DEFAULT NULL COMMENT '鏈�杩戞牎楠屼俊鎭�',
+  `last_validate_elapsed_ms` bigint(20) DEFAULT NULL COMMENT '鏈�杩戞牎楠岃�楁椂',
+  `last_validate_time` datetime DEFAULT NULL COMMENT '鏈�杩戞牎楠屾椂闂�',
   `tenant_id` bigint(20) DEFAULT NULL COMMENT '绉熸埛',
   `status` int(11) DEFAULT '1' COMMENT '鐘舵��',
   `deleted` int(11) DEFAULT '0' COMMENT '鍒犻櫎鏍囪',
@@ -109,6 +113,74 @@
   KEY `idx_sys_ai_chat_message_session_seq` (`session_id`,`seq_no`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI 瀵硅瘽娑堟伅';
 
+SET @ai_param_validate_status_exists := (
+  SELECT COUNT(1)
+  FROM `information_schema`.`COLUMNS`
+  WHERE `TABLE_SCHEMA` = DATABASE()
+    AND `TABLE_NAME` = 'sys_ai_param'
+    AND `COLUMN_NAME` = 'validate_status'
+);
+SET @ai_param_validate_status_sql := IF(
+  @ai_param_validate_status_exists = 0,
+  'ALTER TABLE `sys_ai_param` ADD COLUMN `validate_status` varchar(32) DEFAULT ''NOT_TESTED'' COMMENT ''鏈�杩戞牎楠岀姸鎬�'' AFTER `streaming_enabled`',
+  'SELECT 1'
+);
+PREPARE ai_param_validate_status_stmt FROM @ai_param_validate_status_sql;
+EXECUTE ai_param_validate_status_stmt;
+DEALLOCATE PREPARE ai_param_validate_status_stmt;
+
+SET @ai_param_last_validate_message_exists := (
+  SELECT COUNT(1)
+  FROM `information_schema`.`COLUMNS`
+  WHERE `TABLE_SCHEMA` = DATABASE()
+    AND `TABLE_NAME` = 'sys_ai_param'
+    AND `COLUMN_NAME` = 'last_validate_message'
+);
+SET @ai_param_last_validate_message_sql := IF(
+  @ai_param_last_validate_message_exists = 0,
+  'ALTER TABLE `sys_ai_param` ADD COLUMN `last_validate_message` varchar(500) DEFAULT NULL COMMENT ''鏈�杩戞牎楠屼俊鎭�'' AFTER `validate_status`',
+  'SELECT 1'
+);
+PREPARE ai_param_last_validate_message_stmt FROM @ai_param_last_validate_message_sql;
+EXECUTE ai_param_last_validate_message_stmt;
+DEALLOCATE PREPARE ai_param_last_validate_message_stmt;
+
+SET @ai_param_last_validate_elapsed_exists := (
+  SELECT COUNT(1)
+  FROM `information_schema`.`COLUMNS`
+  WHERE `TABLE_SCHEMA` = DATABASE()
+    AND `TABLE_NAME` = 'sys_ai_param'
+    AND `COLUMN_NAME` = 'last_validate_elapsed_ms'
+);
+SET @ai_param_last_validate_elapsed_sql := IF(
+  @ai_param_last_validate_elapsed_exists = 0,
+  'ALTER TABLE `sys_ai_param` ADD COLUMN `last_validate_elapsed_ms` bigint(20) DEFAULT NULL COMMENT ''鏈�杩戞牎楠岃�楁椂'' AFTER `last_validate_message`',
+  'SELECT 1'
+);
+PREPARE ai_param_last_validate_elapsed_stmt FROM @ai_param_last_validate_elapsed_sql;
+EXECUTE ai_param_last_validate_elapsed_stmt;
+DEALLOCATE PREPARE ai_param_last_validate_elapsed_stmt;
+
+SET @ai_param_last_validate_time_exists := (
+  SELECT COUNT(1)
+  FROM `information_schema`.`COLUMNS`
+  WHERE `TABLE_SCHEMA` = DATABASE()
+    AND `TABLE_NAME` = 'sys_ai_param'
+    AND `COLUMN_NAME` = 'last_validate_time'
+);
+SET @ai_param_last_validate_time_sql := IF(
+  @ai_param_last_validate_time_exists = 0,
+  'ALTER TABLE `sys_ai_param` ADD COLUMN `last_validate_time` datetime DEFAULT NULL COMMENT ''鏈�杩戞牎楠屾椂闂�'' AFTER `last_validate_elapsed_ms`',
+  'SELECT 1'
+);
+PREPARE ai_param_last_validate_time_stmt FROM @ai_param_last_validate_time_sql;
+EXECUTE ai_param_last_validate_time_stmt;
+DEALLOCATE PREPARE ai_param_last_validate_time_stmt;
+
+UPDATE `sys_ai_param`
+SET `validate_status` = 'NOT_TESTED'
+WHERE `validate_status` IS NULL OR `validate_status` = '';
+
 SET @builtin_code_exists := (
   SELECT COUNT(1)
   FROM `information_schema`.`COLUMNS`

--
Gitblit v1.9.1