fix: sync yuyan anchor live stream task

This commit is contained in:
hajimi
2026-07-03 21:10:05 +08:00
parent 8c358dc376
commit 33664adbe0
4 changed files with 376 additions and 11 deletions
+143
View File
@@ -0,0 +1,143 @@
SET @column_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND COLUMN_NAME = 'anchor_id'
);
SET @sql := IF(
@column_exists = 0,
'ALTER TABLE `la_match_live` ADD COLUMN `anchor_id` bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT ''主播ID'' AFTER `source_match_time`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @column_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND COLUMN_NAME = 'anchor_name'
);
SET @sql := IF(
@column_exists = 0,
'ALTER TABLE `la_match_live` ADD COLUMN `anchor_name` varchar(100) NOT NULL DEFAULT '''' COMMENT ''主播昵称'' AFTER `anchor_id`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @column_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND COLUMN_NAME = 'anchor_avatar'
);
SET @sql := IF(
@column_exists = 0,
'ALTER TABLE `la_match_live` ADD COLUMN `anchor_avatar` varchar(500) NOT NULL DEFAULT '''' COMMENT ''主播头像'' AFTER `anchor_name`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @column_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND COLUMN_NAME = 'anchor_level'
);
SET @sql := IF(
@column_exists = 0,
'ALTER TABLE `la_match_live` ADD COLUMN `anchor_level` varchar(50) NOT NULL DEFAULT '''' COMMENT ''主播等级'' AFTER `anchor_avatar`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @column_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND COLUMN_NAME = 'room_view_count'
);
SET @sql := IF(
@column_exists = 0,
'ALTER TABLE `la_match_live` ADD COLUMN `room_view_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT ''直播间观看数'' AFTER `anchor_level`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @column_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND COLUMN_NAME = 'room_focus_count'
);
SET @sql := IF(
@column_exists = 0,
'ALTER TABLE `la_match_live` ADD COLUMN `room_focus_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT ''直播间关注数'' AFTER `room_view_count`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @column_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND COLUMN_NAME = 'room_notice'
);
SET @sql := IF(
@column_exists = 0,
'ALTER TABLE `la_match_live` ADD COLUMN `room_notice` varchar(500) NOT NULL DEFAULT '''' COMMENT ''直播间公告'' AFTER `room_focus_count`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @column_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND COLUMN_NAME = 'room_detail'
);
SET @sql := IF(
@column_exists = 0,
'ALTER TABLE `la_match_live` ADD COLUMN `room_detail` varchar(255) NOT NULL DEFAULT '''' COMMENT ''直播间简介'' AFTER `room_notice`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @index_exists := (
SELECT COUNT(*)
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'la_match_live'
AND INDEX_NAME = 'idx_anchor_id'
);
SET @sql := IF(
@index_exists = 0,
'ALTER TABLE `la_match_live` ADD KEY `idx_anchor_id` (`anchor_id`) USING BTREE',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
+13 -2
View File
@@ -1,10 +1,21 @@
UPDATE `la_dev_crontab`
SET
`name` = '赛事直播流与主播信息抓取',
`remark` = 'Docker crawler 每分钟同步雨燕直播间、主播信息并抓取直播线路播放地址',
`status` = 1,
`expression` = '* * * * *',
`update_time` = UNIX_TIMESTAMP()
WHERE `command` = 'crawler'
AND `params` = 'match_live_stream'
AND `delete_time` IS NULL;
INSERT INTO `la_dev_crontab`
(`name`, `type`, `system`, `remark`, `command`, `params`, `status`, `expression`, `create_time`, `update_time`)
SELECT
'赛事直播流抓取',
'赛事直播流与主播信息抓取',
1,
0,
'Docker crawler 每分钟抓取赛事直播线路播放地址',
'Docker crawler 每分钟同步雨燕直播间、主播信息并抓取直播线路播放地址',
'crawler',
'match_live_stream',
1,