serv-学习

This commit is contained in:
2025-10-24 18:28:26 +08:00
parent 6f5603dd8b
commit 8968409b2d
55 changed files with 2144 additions and 2570 deletions

View File

@@ -21,12 +21,13 @@ CREATE TABLE `tb_learning_task` (
KEY `idx_time` (`start_time`, `end_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学习任务表';
-- 任务关联资源
DROP TABLE IF EXISTS `tb_task_resource`;
CREATE TABLE `tb_task_resource` (
-- 任务关联表(统一管理资源和课程)
DROP TABLE IF EXISTS `tb_task_item`;
CREATE TABLE `tb_task_item` (
`id` VARCHAR(50) NOT NULL COMMENT '关联ID',
`task_id` VARCHAR(50) NOT NULL COMMENT '任务ID',
`resource_id` VARCHAR(50) NOT NULL COMMENT '资源ID',
`item_type` INT(4) NOT NULL COMMENT '项类型1资源 2课程',
`item_id` VARCHAR(50) NOT NULL COMMENT '项ID资源ID或课程ID',
`required` TINYINT(1) DEFAULT 1 COMMENT '是否必须完成',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
@@ -36,30 +37,10 @@ CREATE TABLE `tb_task_resource` (
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_task_resource` (`task_id`, `resource_id`),
UNIQUE KEY `uk_task_item` (`task_id`, `item_type`, `item_id`),
KEY `idx_task` (`task_id`),
KEY `idx_resource` (`resource_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='任务资源关联表';
-- 任务关联课程表
DROP TABLE IF EXISTS `tb_task_course`;
CREATE TABLE `tb_task_course` (
`id` VARCHAR(50) NOT NULL COMMENT '关联ID',
`task_id` VARCHAR(50) NOT NULL COMMENT '任务ID',
`course_id` VARCHAR(50) NOT NULL COMMENT '课程ID',
`required` TINYINT(1) DEFAULT 1 COMMENT '是否必须完成',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` VARCHAR(50) DEFAULT NULL 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_task_course` (`task_id`, `course_id`),
KEY `idx_task` (`task_id`),
KEY `idx_course` (`course_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='任务课程关联表';
KEY `idx_item` (`item_type`, `item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='任务关联表';
-- 任务接收人员表
DROP TABLE IF EXISTS `tb_task_user`;
@@ -89,9 +70,12 @@ DROP TABLE IF EXISTS `tb_learning_record`;
CREATE TABLE `tb_learning_record` (
`id` VARCHAR(50) NOT NULL COMMENT '记录ID',
`user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
`resource_type` INT(4) NOT NULL COMMENT '资源类型1资源 2课程 3章节',
`resource_id` VARCHAR(50) NOT NULL COMMENT '资源ID',
`task_id` VARCHAR(50) DEFAULT NULL COMMENT '任务ID',
`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',
`node_id` VARCHAR(50) DEFAULT NULL COMMENT '节点ID',
`duration` INT(11) DEFAULT 0 COMMENT '学习时长(秒)',
`progress` DECIMAL(5,2) DEFAULT 0.00 COMMENT '学习进度0-100',
`is_complete` TINYINT(1) DEFAULT 0 COMMENT '是否完成',