Files
aiagent/backend/insert_template_market_data.sql

164 lines
9.3 KiB
MySQL
Raw Normal View History

2026-01-19 00:09:36 +08:00
-- 为模板市场添加假数据
-- 注意需要先有一个用户这里假设用户ID为第一个用户的ID
-- 获取第一个用户ID如果不存在需要先创建用户
SET @user_id = (SELECT id FROM users LIMIT 1);
-- 如果用户不存在,提示错误
SELECT IF(@user_id IS NULL, 'ERROR: 请先创建用户', 'OK: 找到用户') AS status;
-- 插入模板数据
INSERT INTO workflow_templates (
id, name, description, category, tags, nodes, edges,
is_public, is_featured, view_count, use_count, rating_count, rating_avg,
user_id, created_at, updated_at
) VALUES
(
UUID(),
'智能客服工作流',
'一个完整的智能客服工作流,支持自动回复、问题分类和转人工功能。',
'llm',
'["客服", "AI", "自动化"]',
'[{"id": "start", "type": "start", "position": {"x": 100, "y": 100}, "data": {"label": "开始"}}, {"id": "input", "type": "input", "position": {"x": 300, "y": 100}, "data": {"label": "接收用户消息"}}, {"id": "llm", "type": "llm", "position": {"x": 500, "y": 100}, "data": {"label": "AI回复", "model": "gpt-3.5-turbo"}}, {"id": "end", "type": "end", "position": {"x": 700, "y": 100}, "data": {"label": "结束"}}]',
'[{"id": "e1", "source": "start", "target": "input"}, {"id": "e2", "source": "input", "target": "llm"}, {"id": "e3", "source": "llm", "target": "end"}]',
TRUE,
TRUE,
FLOOR(RAND() * 1000),
FLOOR(RAND() * 100),
FLOOR(RAND() * 50),
ROUND(3.5 + RAND() * 1.5, 1),
@user_id,
NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
NOW() - INTERVAL FLOOR(RAND() * 7) DAY
),
(
UUID(),
'数据清洗工作流',
'自动清洗和转换数据,支持多种数据源格式。',
'data_processing',
'["数据处理", "ETL", "数据清洗"]',
'[{"id": "start", "type": "start", "position": {"x": 100, "y": 100}, "data": {"label": "开始"}}, {"id": "input", "type": "input", "position": {"x": 300, "y": 100}, "data": {"label": "读取数据"}}, {"id": "transform", "type": "transform", "position": {"x": 500, "y": 100}, "data": {"label": "数据清洗"}}, {"id": "end", "type": "end", "position": {"x": 700, "y": 100}, "data": {"label": "结束"}}]',
'[{"id": "e1", "source": "start", "target": "input"}, {"id": "e2", "source": "input", "target": "transform"}, {"id": "e3", "source": "transform", "target": "end"}]',
TRUE,
FALSE,
FLOOR(RAND() * 1000),
FLOOR(RAND() * 100),
FLOOR(RAND() * 50),
ROUND(3.5 + RAND() * 1.5, 1),
@user_id,
NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
NOW() - INTERVAL FLOOR(RAND() * 7) DAY
),
(
UUID(),
'定时数据同步',
'定时从数据库同步数据到另一个系统,支持增量同步。',
'automation',
'["定时任务", "数据同步", "自动化"]',
'[{"id": "start", "type": "start", "position": {"x": 100, "y": 100}, "data": {"label": "开始"}}, {"id": "schedule", "type": "schedule", "position": {"x": 300, "y": 100}, "data": {"label": "定时触发"}}, {"id": "db", "type": "database", "position": {"x": 500, "y": 100}, "data": {"label": "同步数据"}}, {"id": "end", "type": "end", "position": {"x": 700, "y": 100}, "data": {"label": "结束"}}]',
'[{"id": "e1", "source": "start", "target": "schedule"}, {"id": "e2", "source": "schedule", "target": "db"}, {"id": "e3", "source": "db", "target": "end"}]',
TRUE,
TRUE,
FLOOR(RAND() * 1000),
FLOOR(RAND() * 100),
FLOOR(RAND() * 50),
ROUND(3.5 + RAND() * 1.5, 1),
@user_id,
NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
NOW() - INTERVAL FLOOR(RAND() * 7) DAY
),
(
UUID(),
'API数据聚合',
'从多个API获取数据并聚合处理支持错误重试。',
'integration',
'["API", "数据聚合", "集成"]',
'[{"id": "start", "type": "start", "position": {"x": 100, "y": 100}, "data": {"label": "开始"}}, {"id": "http1", "type": "http", "position": {"x": 300, "y": 50}, "data": {"label": "API 1"}}, {"id": "http2", "type": "http", "position": {"x": 300, "y": 150}, "data": {"label": "API 2"}}, {"id": "transform", "type": "transform", "position": {"x": 500, "y": 100}, "data": {"label": "数据聚合"}}, {"id": "end", "type": "end", "position": {"x": 700, "y": 100}, "data": {"label": "结束"}}]',
'[{"id": "e1", "source": "start", "target": "http1"}, {"id": "e2", "source": "start", "target": "http2"}, {"id": "e3", "source": "http1", "target": "transform"}, {"id": "e4", "source": "http2", "target": "transform"}, {"id": "e5", "source": "transform", "target": "end"}]',
TRUE,
FALSE,
FLOOR(RAND() * 1000),
FLOOR(RAND() * 100),
FLOOR(RAND() * 50),
ROUND(3.5 + RAND() * 1.5, 1),
@user_id,
NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
NOW() - INTERVAL FLOOR(RAND() * 7) DAY
),
(
UUID(),
'邮件通知工作流',
'根据条件发送邮件通知支持HTML格式和附件。',
'automation',
'["邮件", "通知", "自动化"]',
'[{"id": "start", "type": "start", "position": {"x": 100, "y": 100}, "data": {"label": "开始"}}, {"id": "input", "type": "input", "position": {"x": 300, "y": 100}, "data": {"label": "接收事件"}}, {"id": "condition", "type": "condition", "position": {"x": 500, "y": 100}, "data": {"label": "判断是否需要通知"}}, {"id": "email", "type": "email", "position": {"x": 700, "y": 100}, "data": {"label": "发送邮件"}}, {"id": "end", "type": "end", "position": {"x": 900, "y": 100}, "data": {"label": "结束"}}]',
'[{"id": "e1", "source": "start", "target": "input"}, {"id": "e2", "source": "input", "target": "condition"}, {"id": "e3", "source": "condition", "target": "email"}, {"id": "e4", "source": "email", "target": "end"}]',
TRUE,
TRUE,
FLOOR(RAND() * 1000),
FLOOR(RAND() * 100),
FLOOR(RAND() * 50),
ROUND(3.5 + RAND() * 1.5, 1),
@user_id,
NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
NOW() - INTERVAL FLOOR(RAND() * 7) DAY
),
(
UUID(),
'内容生成工作流',
'使用AI生成文章、摘要等内容支持多种格式输出。',
'llm',
'["AI", "内容生成", "LLM"]',
'[{"id": "start", "type": "start", "position": {"x": 100, "y": 100}, "data": {"label": "开始"}}, {"id": "input", "type": "input", "position": {"x": 300, "y": 100}, "data": {"label": "输入主题"}}, {"id": "llm1", "type": "llm", "position": {"x": 500, "y": 100}, "data": {"label": "生成大纲"}}, {"id": "llm2", "type": "llm", "position": {"x": 700, "y": 100}, "data": {"label": "生成内容"}}, {"id": "end", "type": "end", "position": {"x": 900, "y": 100}, "data": {"label": "结束"}}]',
'[{"id": "e1", "source": "start", "target": "input"}, {"id": "e2", "source": "input", "target": "llm1"}, {"id": "e3", "source": "llm1", "target": "llm2"}, {"id": "e4", "source": "llm2", "target": "end"}]',
TRUE,
FALSE,
FLOOR(RAND() * 1000),
FLOOR(RAND() * 100),
FLOOR(RAND() * 50),
ROUND(3.5 + RAND() * 1.5, 1),
@user_id,
NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
NOW() - INTERVAL FLOOR(RAND() * 7) DAY
),
(
UUID(),
'文件处理工作流',
'批量处理文件,支持上传、下载、格式转换等功能。',
'data_processing',
'["文件处理", "批量操作"]',
'[{"id": "start", "type": "start", "position": {"x": 100, "y": 100}, "data": {"label": "开始"}}, {"id": "loop", "type": "loop", "position": {"x": 300, "y": 100}, "data": {"label": "遍历文件列表"}}, {"id": "file_read", "type": "file_operation", "position": {"x": 500, "y": 100}, "data": {"label": "读取文件"}}, {"id": "file_write", "type": "file_operation", "position": {"x": 700, "y": 100}, "data": {"label": "保存文件"}}, {"id": "end", "type": "end", "position": {"x": 900, "y": 100}, "data": {"label": "结束"}}]',
'[{"id": "e1", "source": "start", "target": "loop"}, {"id": "e2", "source": "loop", "target": "file_read"}, {"id": "e3", "source": "file_read", "target": "file_write"}, {"id": "e4", "source": "file_write", "target": "end"}]',
TRUE,
FALSE,
FLOOR(RAND() * 1000),
FLOOR(RAND() * 100),
FLOOR(RAND() * 50),
ROUND(3.5 + RAND() * 1.5, 1),
@user_id,
NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
NOW() - INTERVAL FLOOR(RAND() * 7) DAY
),
(
UUID(),
'Webhook触发器',
'接收外部Webhook请求并触发工作流支持多种认证方式。',
'integration',
'["Webhook", "触发器", "集成"]',
'[{"id": "start", "type": "start", "position": {"x": 100, "y": 100}, "data": {"label": "开始"}}, {"id": "webhook", "type": "webhook", "position": {"x": 300, "y": 100}, "data": {"label": "接收Webhook"}}, {"id": "transform", "type": "transform", "position": {"x": 500, "y": 100}, "data": {"label": "处理数据"}}, {"id": "http", "type": "http", "position": {"x": 700, "y": 100}, "data": {"label": "调用外部API"}}, {"id": "end", "type": "end", "position": {"x": 900, "y": 100}, "data": {"label": "结束"}}]',
'[{"id": "e1", "source": "start", "target": "webhook"}, {"id": "e2", "source": "webhook", "target": "transform"}, {"id": "e3", "source": "transform", "target": "http"}, {"id": "e4", "source": "http", "target": "end"}]',
TRUE,
TRUE,
FLOOR(RAND() * 1000),
FLOOR(RAND() * 100),
FLOOR(RAND() * 50),
ROUND(3.5 + RAND() * 1.5, 1),
@user_id,
NOW() - INTERVAL FLOOR(RAND() * 30) DAY,
NOW() - INTERVAL FLOOR(RAND() * 7) DAY
)
ON DUPLICATE KEY UPDATE name=name;
-- 显示插入结果
SELECT COUNT(*) AS '模板数量' FROM workflow_templates WHERE user_id = @user_id;