第一次提交
This commit is contained in:
163
backend/insert_template_market_data.sql
Normal file
163
backend/insert_template_market_data.sql
Normal file
@@ -0,0 +1,163 @@
|
||||
-- 为模板市场添加假数据
|
||||
-- 注意:需要先有一个用户,这里假设用户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;
|
||||
Reference in New Issue
Block a user