Files
data-engine/sql/seed_data.sql

261 lines
12 KiB
MySQL
Raw Normal View History

2026-05-29 18:39:32 +08:00
-- =============================================
-- 数据引擎初始化数据脚本
-- 执行前请先执行 init_core_tables.sql
-- =============================================
-- =============================================
-- 1. 创建腾讯广告平台
-- 认证方式OAuth2access_token 放在 URL 查询参数
-- API Base: https://api.e.qq.com/v3.0
-- =============================================
INSERT INTO api_datasource_platform (
tenant_id, creator, created_at, updater, updated_at,
platform_code, platform_name, description, status,
api_base_url, auth_type,
token, client_id, client_secret,
auth_config,
rate_limit_per_minute, rate_limit_per_hour,
concurrency_limit, request_timeout_ms, max_retries, retry_delay_ms
) VALUES (
1, 'admin', NOW(), 'admin', NOW(),
'tencent', '腾讯广告', '腾讯广告(广点通)数据同步', 'ACTIVE',
'https://api.e.qq.com/v3.0', 'OAUTH2',
'4bacfc7c9b0a31f70ec0eb4771f8b542',
'1112038234', 'GxyjXFbZAs5dnsNQ',
'{
"token_in_query": true,
"query_key": "access_token",
"refresh_token": "d15b37363a42449026d337708516e95e",
"extra_query_params": {
"timestamp": "{timestamp}",
"nonce": "{nonce}"
}
}'::jsonb,
60, 3600, 10, 30000, 3, 1000
);
-- =============================================
-- 2. 创建腾讯广告的接口配置
-- 接口前缀https://api.e.qq.com/v3.0
-- =============================================
-- 2.1 账户关系接口先获取所有账户ID
2026-06-01 14:08:17 +08:00
-- 出参:{"code":0, "message":"ok", "data":{"list":[...], "page_info":{...}}}
-- 列表路径data.list分页data.page_info.total_page
2026-05-29 18:39:32 +08:00
INSERT INTO api_interface (
tenant_id, creator, created_at, updater, updated_at,
platform_id, name, code, url, method, status, auth_type,
2026-06-01 14:08:17 +08:00
request_config, response_config, table_definition
2026-05-29 18:39:32 +08:00
) VALUES (
1, 'admin', NOW(), 'admin', NOW(),
2026-06-01 14:08:17 +08:00
(SELECT id FROM api_datasource_platform WHERE platform_code = 'tencent'),
2026-05-29 18:39:32 +08:00
'账户列表', 'account_relation',
'/advertiser/get', 'GET', 'active', 'inherit',
'{
"parameters_location": "query",
"page": 1,
"page_size": 100,
"page_param": "page",
"page_size_param": "page_size",
"pagination_mode": "PAGINATION_MODE_NORMAL",
"fields": ["account_id", "corporation_name", "is_adx", "is_bid", "is_mp"]
}'::jsonb,
2026-06-01 14:08:17 +08:00
'{
"success_field": "code",
"success_value": 0,
"message_field": "message",
"list_path": "data.list"
}'::jsonb,
2026-05-29 18:39:32 +08:00
'{
"table_name": "tencent_account_relation",
"columns": [
{"name": "account_id", "type": "BIGINT", "comment": "账户ID"},
{"name": "corporation_name", "type": "VARCHAR(300)", "comment": "企业名称"},
{"name": "is_adx", "type": "BOOLEAN", "comment": "是否ADX账户"},
{"name": "is_bid", "type": "BOOLEAN", "comment": "是否竞价账户"},
{"name": "is_mp", "type": "BOOLEAN", "comment": "是否MP账户"}
],
"conflict_keys": ["account_id"]
}'::jsonb
);
-- 2.2 图片素材接口(遍历每个账户拉取图片)
2026-06-01 14:08:17 +08:00
-- 出参:{"code":0, "message":"ok", "data":{"list":[...], "page_info":{...}}}
-- 列表路径data.list分页data.page_info.total_page
2026-05-29 18:39:32 +08:00
INSERT INTO api_interface (
tenant_id, creator, created_at, updater, updated_at,
platform_id, name, code, url, method, status, auth_type,
2026-06-01 14:08:17 +08:00
request_config, response_config, table_definition
2026-05-29 18:39:32 +08:00
) VALUES (
1, 'admin', NOW(), 'admin', NOW(),
2026-06-01 14:08:17 +08:00
(SELECT id FROM api_datasource_platform WHERE platform_code = 'tencent'),
2026-05-29 18:39:32 +08:00
'图片素材', 'image',
'/images/get', 'GET', 'active', 'inherit',
'{
"parameters_location": "query",
"page": 1,
"page_size": 100,
"page_param": "page",
"page_size_param": "page_size",
"time_field": "last_modified_time",
"prefetch": {
"url": "/advertiser/get",
"method": "GET",
"response_path": "data.list",
"target_param": "account_id",
"value_field": "account_id"
}
}'::jsonb,
2026-06-01 14:08:17 +08:00
'{
"success_field": "code",
"success_value": 0,
"message_field": "message",
"list_path": "data.list"
}'::jsonb,
2026-05-29 18:39:32 +08:00
'{
"table_name": "tencent_image",
"columns": [
{"name": "image_id", "type": "VARCHAR(100)", "comment": "图片ID"},
{"name": "account_id", "type": "BIGINT", "comment": "账户ID"},
{"name": "width", "type": "INT", "comment": "宽度"},
{"name": "height", "type": "INT", "comment": "高度"},
{"name": "file_size", "type": "BIGINT", "comment": "文件大小"},
{"name": "type", "type": "VARCHAR(50)", "comment": "图片类型"},
{"name": "signature", "type": "VARCHAR(200)", "comment": "签名"},
{"name": "description", "type": "TEXT", "comment": "描述"},
{"name": "source_signature", "type": "VARCHAR(200)", "comment": "源签名"},
{"name": "preview_url", "type": "TEXT", "comment": "预览URL"},
{"name": "thumb_preview_url", "type": "TEXT", "comment": "缩略图URL"},
{"name": "source_type", "type": "VARCHAR(50)", "comment": "来源类型"},
{"name": "image_usage", "type": "VARCHAR(50)", "comment": "图片用途"},
{"name": "created_time", "type": "BIGINT", "comment": "创建时间戳"},
{"name": "last_modified_time", "type": "BIGINT", "comment": "最后修改时间戳"},
{"name": "status", "type": "VARCHAR(50)", "comment": "状态"},
{"name": "owner_account_id", "type": "VARCHAR(100)", "comment": "所有者账户ID"},
{"name": "first_publication_status", "type": "VARCHAR(50)", "comment": "首次发布状态"},
{"name": "quality_status", "type": "VARCHAR(50)", "comment": "质量状态"},
{"name": "aigc_flag", "type": "VARCHAR(50)", "comment": "AIGC标志"},
{"name": "aigc_type", "type": "INT", "comment": "AIGC类型"},
2026-06-01 14:08:17 +08:00
{"name": "verify_status", "type": "VARCHAR(50)", "comment": "校验状态"},
2026-05-29 18:39:32 +08:00
{"name": "verified_at", "type": "TIMESTAMP WITH TIME ZONE", "comment": "校验时间"},
{"name": "verified_by", "type": "VARCHAR(64)", "comment": "校验人"}
],
"conflict_keys": ["image_id", "account_id"]
}'::jsonb
);
-- 2.3 视频素材接口(遍历每个账户拉取视频)
2026-06-01 14:08:17 +08:00
-- 出参:{"code":0, "message":"ok", "data":{"list":[...], "page_info":{...}}}
-- 列表路径data.list分页data.page_info.total_page
2026-05-29 18:39:32 +08:00
INSERT INTO api_interface (
tenant_id, creator, created_at, updater, updated_at,
platform_id, name, code, url, method, status, auth_type,
2026-06-01 14:08:17 +08:00
request_config, response_config, table_definition
2026-05-29 18:39:32 +08:00
) VALUES (
1, 'admin', NOW(), 'admin', NOW(),
2026-06-01 14:08:17 +08:00
(SELECT id FROM api_datasource_platform WHERE platform_code = 'tencent'),
2026-05-29 18:39:32 +08:00
'视频素材', 'video',
'/videos/get', 'GET', 'active', 'inherit',
'{
"parameters_location": "query",
"page": 1,
"page_size": 100,
"page_param": "page",
"page_size_param": "page_size",
"time_field": "last_modified_time",
"prefetch": {
"url": "/advertiser/get",
"method": "GET",
"response_path": "data.list",
"target_param": "account_id",
"value_field": "account_id"
}
}'::jsonb,
2026-06-01 14:08:17 +08:00
'{
"success_field": "code",
"success_value": 0,
"message_field": "message",
"list_path": "data.list"
}'::jsonb,
2026-05-29 18:39:32 +08:00
'{
"table_name": "tencent_video",
"columns": [
{"name": "video_id", "type": "BIGINT", "comment": "视频ID"},
{"name": "account_id", "type": "BIGINT", "comment": "账户ID"},
{"name": "width", "type": "INT", "comment": "宽度"},
{"name": "height", "type": "INT", "comment": "高度"},
{"name": "video_frames", "type": "INT", "comment": "视频帧数"},
{"name": "video_fps", "type": "DECIMAL(10,2)", "comment": "视频帧率"},
{"name": "video_codec", "type": "VARCHAR(50)", "comment": "视频编码"},
{"name": "video_bit_rate", "type": "BIGINT", "comment": "视频比特率"},
{"name": "audio_codec", "type": "VARCHAR(50)", "comment": "音频编码"},
{"name": "audio_bit_rate", "type": "BIGINT", "comment": "音频比特率"},
{"name": "file_size", "type": "BIGINT", "comment": "文件大小"},
{"name": "type", "type": "VARCHAR(50)", "comment": "视频类型"},
{"name": "signature", "type": "VARCHAR(200)", "comment": "签名"},
{"name": "system_status", "type": "VARCHAR(50)", "comment": "系统状态"},
{"name": "description", "type": "TEXT", "comment": "描述"},
{"name": "preview_url", "type": "TEXT", "comment": "预览URL"},
{"name": "key_frame_image_url", "type": "TEXT", "comment": "关键帧图片URL"},
{"name": "created_time", "type": "BIGINT", "comment": "创建时间戳"},
{"name": "last_modified_time", "type": "BIGINT", "comment": "最后修改时间戳"},
{"name": "status", "type": "VARCHAR(50)", "comment": "状态"},
{"name": "owner_account_id", "type": "VARCHAR(100)", "comment": "所有者账户ID"},
{"name": "cover_id", "type": "VARCHAR(100)", "comment": "封面ID"},
{"name": "first_publication_status", "type": "VARCHAR(50)", "comment": "首次发布状态"},
{"name": "quality_status", "type": "VARCHAR(50)", "comment": "质量状态"},
{"name": "aigc_flag", "type": "VARCHAR(50)", "comment": "AIGC标志"},
{"name": "muse_aigc_version", "type": "INT", "comment": "Muse AIGC版本"},
2026-06-01 14:08:17 +08:00
{"name": "verify_status", "type": "VARCHAR(50)", "comment": "校验状态"},
2026-05-29 18:39:32 +08:00
{"name": "verified_at", "type": "TIMESTAMP WITH TIME ZONE", "comment": "校验时间"},
{"name": "verified_by", "type": "VARCHAR(64)", "comment": "校验人"}
],
"conflict_keys": ["video_id", "account_id"]
}'::jsonb
);
-- 2.4 音频素材接口POST + JSON Body无需遍历账户
-- 注意:此接口不依赖 account_id不依赖 prefetch不支持增量
2026-06-01 14:08:17 +08:00
-- 出参:{"code":0, "message":"ok", "data":{"list":[...], "page_info":{...}}}
-- 列表路径data.list分页data.page_info.total_page
2026-05-29 18:39:32 +08:00
INSERT INTO api_interface (
tenant_id, creator, created_at, updater, updated_at,
platform_id, name, code, url, method, status, auth_type,
2026-06-01 14:08:17 +08:00
request_config, response_config, table_definition
2026-05-29 18:39:32 +08:00
) VALUES (
1, 'admin', NOW(), 'admin', NOW(),
2026-06-01 14:08:17 +08:00
(SELECT id FROM api_datasource_platform WHERE platform_code = 'tencent'),
2026-05-29 18:39:32 +08:00
'音频素材', 'audio',
'/muse_audios/get', 'POST', 'active', 'inherit',
'{
"page": 1,
"page_size": 100,
"page_param": "page",
"page_size_param": "page_size",
"fields": ["audio_id", "cover_image_url", "audio_name", "author", "duration", "expire_time", "feel_tags", "genre_tags"]
}'::jsonb,
2026-06-01 14:08:17 +08:00
'{
"success_field": "code",
"success_value": 0,
"message_field": "message",
"list_path": "data.list"
}'::jsonb,
2026-05-29 18:39:32 +08:00
'{
"table_name": "tencent_audio",
"columns": [
{"name": "audio_id", "type": "VARCHAR(100)", "comment": "音乐ID"},
{"name": "audio_name", "type": "VARCHAR(500)", "comment": "音乐名称"},
{"name": "author", "type": "VARCHAR(200)", "comment": "作者"},
{"name": "duration", "type": "DECIMAL(10,2)", "comment": "时长(秒)"},
{"name": "cover_image_url", "type": "TEXT", "comment": "封面图片URL"},
{"name": "expire_time", "type": "BIGINT", "comment": "过期时间戳"},
{"name": "feel_tags", "type": "JSONB", "comment": "情感标签"},
{"name": "genre_tags", "type": "JSONB", "comment": "风格标签"},
2026-06-01 14:08:17 +08:00
{"name": "verify_status", "type": "VARCHAR(50)", "comment": "校验状态"},
2026-05-29 18:39:32 +08:00
{"name": "verified_at", "type": "TIMESTAMP WITH TIME ZONE", "comment": "校验时间"},
{"name": "verified_by", "type": "VARCHAR(64)", "comment": "校验人"}
],
"conflict_keys": ["audio_id"]
}'::jsonb
);