初始提交: Qihu-AIFlow v2.0.1 完整项目

- 前端 React+TypeScript (源码+构建产物)
- 后端 Python FastAPI
- 数据库迁移 001-015
- Docker部署配置
- 微信ClawBot API频道绑定
- 项目文档 README.md
This commit is contained in:
qyyfw committed 2026-07-02 14:40:46 +08:00
commit 78ff261b5a
199 files changed
+69126

No files matched your search

+89
View File
@@ -0,0 +1,89 @@
-- AIFlow 增值服务改造 - 数据库迁移脚本
-- 日期: 2026-05-27
-- 说明: 增加自定义服务支持、修改 value_added_services 表类型枚举
USE aiflow;
-- 1. 创建 custom_service_requests 表(先创建新表,不依赖后续的ALTER)
CREATE TABLE IF NOT EXISTS custom_service_requests (
id VARCHAR(36) PRIMARY KEY,
user_id VARCHAR(36) NOT NULL,
service_id VARCHAR(36) NOT NULL,
request_type VARCHAR(20) NOT NULL COMMENT 'data_custom / private_project / platform_proxy',
title VARCHAR(200) NOT NULL,
description TEXT DEFAULT NULL,
requirements JSON DEFAULT NULL COMMENT '需求详情JSON',
status ENUM('pending', 'processing', 'completed', 'rejected') NOT NULL DEFAULT 'pending',
assigned_agent_id VARCHAR(36) DEFAULT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_csr_user (user_id),
INDEX idx_csr_service (service_id),
INDEX idx_csr_type (request_type),
INDEX idx_csr_status (status),
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (service_id) REFERENCES value_added_services(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 2. 尝试修改 value_added_services 的 type 列(忽略错误 - 可能已修改过)
-- 使用存储过程实现幂等:检查当前枚举值,如果已包含新值则跳过
SET @dbname = DATABASE();
SET @tablename = 'value_added_services';
SET @columnname = 'type';
-- 检查当前type列的枚举定义是否已经包含新值
SET @needs_alter = (
SELECT IF(
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @dbname
AND TABLE_NAME = @tablename
AND COLUMN_NAME = @columnname
AND COLUMN_TYPE LIKE '%app_custom%') > 0,
0, 1
)
);
SET @alter_sql = IF(@needs_alter = 1,
'ALTER TABLE value_added_services MODIFY COLUMN type ENUM(''app_custom'', ''platform_proxy'', ''data_custom'', ''private_project'') NOT NULL',
'SELECT ''type column already migrated'' AS msg'
);
PREPARE stmt FROM @alter_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 3. 新增 features 字段(JSON格式)
SET @sql_features = (
SELECT IF(
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = @tablename AND COLUMN_NAME = 'features') > 0,
'SELECT ''Column features already exists'' AS msg',
'ALTER TABLE value_added_services ADD COLUMN features JSON DEFAULT NULL AFTER description'
)
);
PREPARE stmt FROM @sql_features;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 4. 新增 assigned_agent_id 字段
SET @sql_agent = (
SELECT IF(
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = @dbname AND TABLE_NAME = @tablename AND COLUMN_NAME = 'assigned_agent_id') > 0,
'SELECT ''Column assigned_agent_id already exists'' AS msg',
'ALTER TABLE value_added_services ADD COLUMN assigned_agent_id VARCHAR(36) DEFAULT NULL AFTER status'
)
);
PREPARE stmt FROM @sql_agent;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 5. 初始化四大类增值服务数据(幂等)
INSERT IGNORE INTO value_added_services (id, name, description, features, price, type, status, assigned_agent_id) VALUES
('svc-app-custom', '应用定制服务', '根据您的业务需求,定制开发专属的AI应用。选择Skills/Agent/MCP类型,自动创建对应对话窗口,后台为您配置专属工作Agent。',
'["Skills定制", "Agent定制", "MCP定制", "专属工作Agent", "一对一服务"]', 2999.00, 'app_custom', 'active', NULL),
('svc-platform-proxy', '平台代理申请', '申请成为AIFlow平台的子平台代理,获取独立的运营空间和管理权限,拓展您的业务版图。',
'["独立子平台", "品牌定制", "用户管理", "运营数据分析", "官方技术支持"]', 0.00, 'platform_proxy', 'active', NULL),
('svc-data-custom', '数据定制服务', '提供专业的数据采集、清洗、标注和分析服务,为您的AI模型提供高质量训练数据。',
'["数据采集", "数据清洗", "数据标注", "数据分析", "定制报告"]', 0.00, 'data_custom', 'active', NULL),
('svc-private-project', '私有化项目服务', '为企业提供AIFlow平台整体私有化部署方案,包括环境搭建、数据迁移、安全配置等全方位服务。',
'["私有化部署", "数据迁移", "安全配置", "定制开发", "7x24运维支持"]', 0.00, 'private_project', 'active', NULL);