| | |
| | | `play_end` DATETIME DEFAULT NULL COMMENT '结束播放时间', |
| | | `duration_seconds` INT NOT NULL DEFAULT 0 COMMENT '累计播放时长(秒)', |
| | | `is_completed` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否完播:1是 0否', |
| | | `last_play_position_seconds` INT NOT NULL DEFAULT 0 COMMENT '本次结束时播放位置(秒)', |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_health_course_play_course` (`course_id`), |
| | | KEY `idx_health_course_play_video` (`video_id`), |
| | |
| | | KEY `idx_health_course_favorite_user` (`app_user_id`), |
| | | KEY `idx_health_course_favorite_time` (`action_time`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='养生课程收藏记录表'; |
| | | |
| | | -- ---------------------------- |
| | | -- 养生课程:下载记录 |
| | | -- ---------------------------- |
| | | CREATE TABLE IF NOT EXISTS `tcm_health_course_download_record` ( |
| | | `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, |
| | | `app_user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID', |
| | | `course_id` BIGINT UNSIGNED NOT NULL COMMENT '养生课程ID', |
| | | `course_video_id` BIGINT UNSIGNED NOT NULL COMMENT '视频小节ID', |
| | | `course_title_snapshot` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '课程标题快照', |
| | | `chapter_name_snapshot` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '章节标题快照', |
| | | `cover_img_snapshot` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '封面图快照', |
| | | `video_url_snapshot` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '视频地址快照', |
| | | `duration_seconds_snapshot` INT NOT NULL DEFAULT 0 COMMENT '视频时长快照(秒)', |
| | | `deleted` TINYINT(1) NOT NULL DEFAULT 0, |
| | | `created_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '创建人', |
| | | `updated_by` VARCHAR(64) NOT NULL DEFAULT '系统初始化' COMMENT '更新人', |
| | | `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| | | `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_health_course_download_user_deleted_created` (`app_user_id`, `deleted`, `created_at`), |
| | | KEY `idx_health_course_download_user_video_deleted` (`app_user_id`, `course_video_id`, `deleted`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='养生课程下载记录表'; |
| | | |
| | | -- ---------------------------- |
| | | -- 养生课程:会员加课记录 |
| | |
| | | (5034, 1, 107, 200, TIMESTAMP(CURDATE(), '20:40:00'), TIMESTAMP(CURDATE(), '20:46:00'), 360, 0, 1); |
| | | |
| | | INSERT IGNORE INTO `tcm_health_course_play_record` |
| | | (`id`, `course_id`, `video_id`, `app_user_id`, `play_start`, `play_end`, `duration_seconds`, `is_completed`) |
| | | (`id`, `course_id`, `video_id`, `app_user_id`, `play_start`, `play_end`, `duration_seconds`, `is_completed`, `last_play_position_seconds`) |
| | | VALUES |
| | | (5101, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '10:00:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '10:18:00'), 1080, 1), |
| | | (5102, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '15:10:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '15:18:00'), 480, 0), |
| | | (5103, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '10:02:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '10:20:00'), 1080, 1), |
| | | (5104, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '14:30:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '14:38:00'), 480, 0), |
| | | (5105, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '09:55:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '10:13:00'), 1080, 1), |
| | | (5106, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '13:20:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '13:28:00'), 480, 0), |
| | | (5107, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '19:10:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '19:18:00'), 480, 0), |
| | | (5108, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '10:05:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '10:23:00'), 1080, 1), |
| | | (5109, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '12:40:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '12:48:00'), 480, 0), |
| | | (5110, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '18:25:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '18:33:00'), 480, 0), |
| | | (5111, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '10:08:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '10:26:00'), 1080, 1), |
| | | (5112, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '13:10:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '13:18:00'), 480, 0), |
| | | (5113, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '18:00:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '18:08:00'), 480, 0), |
| | | (5114, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '20:10:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '20:18:00'), 480, 0), |
| | | (5115, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '09:58:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '10:16:00'), 1080, 1), |
| | | (5116, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '12:20:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '12:28:00'), 480, 0), |
| | | (5117, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '17:42:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '17:50:00'), 480, 0), |
| | | (5118, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '21:00:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '21:08:00'), 480, 0), |
| | | (5119, 1, 1, 200, TIMESTAMP(CURDATE(), '09:50:00'), TIMESTAMP(CURDATE(), '10:08:00'), 1080, 1), |
| | | (5120, 1, 2, 200, TIMESTAMP(CURDATE(), '12:15:00'), TIMESTAMP(CURDATE(), '12:23:00'), 480, 0), |
| | | (5121, 1, 3, 200, TIMESTAMP(CURDATE(), '15:30:00'), TIMESTAMP(CURDATE(), '15:38:00'), 480, 0), |
| | | (5122, 1, 1, 200, TIMESTAMP(CURDATE(), '18:20:00'), TIMESTAMP(CURDATE(), '18:28:00'), 480, 0), |
| | | (5123, 1, 2, 200, TIMESTAMP(CURDATE(), '21:10:00'), TIMESTAMP(CURDATE(), '21:18:00'), 480, 0); |
| | | (5101, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '10:00:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '10:18:00'), 1080, 1, 0), |
| | | (5102, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '15:10:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '15:18:00'), 480, 0, 480), |
| | | (5103, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '10:02:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '10:20:00'), 1080, 1, 0), |
| | | (5104, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '14:30:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 5 DAY), '14:38:00'), 480, 0, 480), |
| | | (5105, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '09:55:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '10:13:00'), 1080, 1, 0), |
| | | (5106, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '13:20:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '13:28:00'), 480, 0, 480), |
| | | (5107, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '19:10:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 4 DAY), '19:18:00'), 480, 0, 480), |
| | | (5108, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '10:05:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '10:23:00'), 1080, 1, 0), |
| | | (5109, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '12:40:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '12:48:00'), 480, 0, 480), |
| | | (5110, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '18:25:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 3 DAY), '18:33:00'), 480, 0, 480), |
| | | (5111, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '10:08:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '10:26:00'), 1080, 1, 0), |
| | | (5112, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '13:10:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '13:18:00'), 480, 0, 480), |
| | | (5113, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '18:00:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '18:08:00'), 480, 0, 480), |
| | | (5114, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '20:10:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 2 DAY), '20:18:00'), 480, 0, 480), |
| | | (5115, 1, 1, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '09:58:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '10:16:00'), 1080, 1, 0), |
| | | (5116, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '12:20:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '12:28:00'), 480, 0, 480), |
| | | (5117, 1, 3, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '17:42:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '17:50:00'), 480, 0, 480), |
| | | (5118, 1, 2, 200, TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '21:00:00'), TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '21:08:00'), 480, 0, 480), |
| | | (5119, 1, 1, 200, TIMESTAMP(CURDATE(), '09:50:00'), TIMESTAMP(CURDATE(), '10:08:00'), 1080, 1, 0), |
| | | (5120, 1, 2, 200, TIMESTAMP(CURDATE(), '12:15:00'), TIMESTAMP(CURDATE(), '12:23:00'), 480, 0, 480), |
| | | (5121, 1, 3, 200, TIMESTAMP(CURDATE(), '15:30:00'), TIMESTAMP(CURDATE(), '15:38:00'), 480, 0, 480), |
| | | (5122, 1, 1, 200, TIMESTAMP(CURDATE(), '18:20:00'), TIMESTAMP(CURDATE(), '18:28:00'), 480, 0, 480), |
| | | (5123, 1, 2, 200, TIMESTAMP(CURDATE(), '21:10:00'), TIMESTAMP(CURDATE(), '21:18:00'), 480, 0, 480); |
| | | |
| | | INSERT IGNORE INTO `tcm_health_course_favorite_record` |
| | | (`id`, `course_id`, `app_user_id`, `action_type`, `action_time`) |