Files
aiagent/backend/insert_template_market_data.sql
2026-01-19 00:09:36 +08:00

164 lines
9.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 为模板市场添加假数据
-- 注意需要先有一个用户这里假设用户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;