serv\web-学习历史修改
This commit is contained in:
@@ -116,3 +116,78 @@ CREATE TABLE `tb_learning_statistics` (
|
||||
KEY `idx_date` (`stat_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学习统计表';
|
||||
|
||||
-- 学习观看历史表(记录每次学习行为)
|
||||
DROP TABLE IF EXISTS `tb_learning_history`;
|
||||
CREATE TABLE `tb_learning_history` (
|
||||
`id` VARCHAR(50) NOT NULL COMMENT 'ID',
|
||||
`user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
|
||||
`history_id` VARCHAR(50) DEFAULT NULL COMMENT '学习历史ID',
|
||||
|
||||
-- 学习对象
|
||||
`resource_type` INT(4) NOT NULL COMMENT '资源类型(1资源/新闻 2课程 3章节 4节点)',
|
||||
`resource_id` VARCHAR(50) DEFAULT NULL COMMENT '资源ID',
|
||||
`course_id` VARCHAR(50) DEFAULT NULL COMMENT '课程ID',
|
||||
`chapter_id` VARCHAR(50) DEFAULT NULL COMMENT '章节ID',
|
||||
`node_id` VARCHAR(50) DEFAULT NULL COMMENT '节点ID',
|
||||
`task_id` VARCHAR(50) DEFAULT NULL COMMENT '关联任务ID',
|
||||
|
||||
-- 学习时间
|
||||
`start_time` TIMESTAMP NOT NULL COMMENT '开始学习时间',
|
||||
`end_time` TIMESTAMP NULL DEFAULT NULL COMMENT '结束学习时间',
|
||||
`duration` INT(11) DEFAULT 0 COMMENT '本次学习时长(秒)',
|
||||
|
||||
-- 学习进度
|
||||
`start_progress` DECIMAL(5,2) DEFAULT 0.00 COMMENT '开始进度(0-100)',
|
||||
`end_progress` DECIMAL(5,2) DEFAULT 0.00 COMMENT '结束进度(0-100)',
|
||||
|
||||
-- 设备信息(可选)
|
||||
`device_type` VARCHAR(20) DEFAULT NULL COMMENT '设备类型(web/mobile/app)',
|
||||
`ip_address` VARCHAR(50) DEFAULT NULL COMMENT 'IP地址',
|
||||
|
||||
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
|
||||
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_user_time` (`user_id`, `start_time`),
|
||||
KEY `idx_user_resource` (`user_id`, `resource_type`, `resource_id`),
|
||||
KEY `idx_course` (`course_id`),
|
||||
KEY `idx_task` (`task_id`),
|
||||
KEY `idx_history` (`history_id`),
|
||||
KEY `idx_start_time` (`start_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学习观看历史表';
|
||||
|
||||
-- 学习统计明细表(按天按资源统计)
|
||||
DROP TABLE IF EXISTS `tb_learning_statistics_detail`;
|
||||
CREATE TABLE `tb_learning_statistics_detail` (
|
||||
`id` VARCHAR(50) NOT NULL COMMENT '统计ID',
|
||||
`user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
|
||||
`stat_date` DATE NOT NULL COMMENT '统计日期',
|
||||
|
||||
-- 学习对象
|
||||
`resource_type` INT(4) NOT NULL COMMENT '资源类型(1资源/新闻 2课程 3章节)',
|
||||
`resource_id` VARCHAR(50) DEFAULT NULL COMMENT '资源ID',
|
||||
`course_id` VARCHAR(50) DEFAULT NULL COMMENT '课程ID',
|
||||
`chapter_id` VARCHAR(50) DEFAULT NULL COMMENT '章节ID',
|
||||
|
||||
-- 统计数据
|
||||
`total_duration` INT(11) DEFAULT 0 COMMENT '学习时长(秒)',
|
||||
`learn_count` INT(11) DEFAULT 0 COMMENT '学习次数',
|
||||
`is_complete` TINYINT(1) DEFAULT 0 COMMENT '是否完成',
|
||||
`complete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '完成时间',
|
||||
|
||||
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||||
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
|
||||
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
|
||||
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_user_date_resource` (`user_id`, `stat_date`, `resource_type`, `resource_id`, `course_id`, `chapter_id`),
|
||||
KEY `idx_user_date` (`user_id`, `stat_date`),
|
||||
KEY `idx_date` (`stat_date`),
|
||||
KEY `idx_resource` (`resource_type`, `resource_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学习统计明细表';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user