serv-学习管理

This commit is contained in:
2025-10-21 16:21:19 +08:00
parent f72a5cec61
commit 9824a7d686
27 changed files with 1192 additions and 336 deletions

View File

@@ -29,10 +29,14 @@ CREATE TABLE `tb_course` (
-- 课程章节表
DROP TABLE IF EXISTS `tb_course_chapter`;
CREATE TABLE `tb_course_chapter` (
`id` VARCHAR(50) NOT NULL COMMENT '章节ID',
`id` VARCHAR(50) NOT NULL COMMENT 'ID',
`chapter_id` VARCHAR(50) NOT NULL COMMENT '章节唯一标识',
`course_id` VARCHAR(50) NOT NULL COMMENT '课程ID',
`parent_id` VARCHAR(50) DEFAULT NULL COMMENT '父章节ID',
`name` VARCHAR(255) NOT NULL COMMENT '章节名称',
`content` LONGTEXT COMMENT '章节内容',
`chapter_type` INT(4) DEFAULT 0 COMMENT '章节类型1视频 2文档 3音频',
`resource_id` VARCHAR(50) DEFAULT NULL COMMENT '资源ID',
`video_url` VARCHAR(500) DEFAULT NULL COMMENT '视频URL',
`duration` INT(11) DEFAULT 0 COMMENT '章节时长(分钟)',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
@@ -44,6 +48,7 @@ CREATE TABLE `tb_course_chapter` (
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_course` (`course_id`),
KEY `idx_parent` (`parent_id`),
KEY `idx_order` (`order_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='课程章节表';
@@ -61,3 +66,28 @@ CREATE TABLE `tb_course_tag` (
KEY `idx_tag` (`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='课程标签关联表';
-- 学习节点表
DROP TABLE IF EXISTS `tb_course_node`;
CREATE TABLE `tb_course_node` (
`id` VARCHAR(50) NOT NULL COMMENT '节点ID',
`chapter_id` VARCHAR(50) NOT NULL COMMENT '章节ID',
`node_id` VARCHAR(50) NOT NULL COMMENT '节点唯一标识',
`name` VARCHAR(255) NOT NULL COMMENT '节点名称',
`content` LONGTEXT COMMENT '节点内容',
`node_type` INT(4) DEFAULT 1 COMMENT '节点类型0文章资源 1富文本 2其他上传文件',
`resource_id` VARCHAR(50) DEFAULT NULL COMMENT '资源ID',
`video_url` VARCHAR(500) DEFAULT NULL COMMENT '视频URL',
`duration` INT(11) DEFAULT 0 COMMENT '节点时长(分钟)',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`is_required` TINYINT(1) DEFAULT 1 COMMENT '是否必修1必修 0选修',
`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`),
KEY `idx_chapter` (`chapter_id`),
KEY `idx_order` (`order_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学习节点表';

View File

@@ -122,7 +122,7 @@ INSERT INTO `tb_sys_menu` (id, menu_id, name, parent_id, url, component, icon, o
('5001', 'menu_admin_study', '学习管理', 'menu_admin_study_manage', '/admin/manage/study/study', 'admin/manage/study/StudyManagementView', 'el-icon-reading', 1, 1, 'NavigationLayout', '1', now()),
('5002', 'menu_admin_task_publish', '任务发布', 'menu_admin_study_manage', '/admin/manage/study/task-publish', 'admin/manage/study/TaskPublishView', 'el-icon-s-order', 2, 1, 'NavigationLayout', '1', now()),
('5003', 'menu_admin_study_records', '学习记录', 'menu_admin_study_manage', '/admin/manage/study/study-records', 'admin/manage/study/StudyRecordsView', 'el-icon-document', 3, 1, 'NavigationLayout', '1', now()),
('5004', 'menu_admin_course_manage', '课程管理', 'menu_admin_study_manage', '/admin/manage/study/course', 'admin/manage/study/CourseManagementView', 'el-icon-video-play', 4, 1, 'NavigationLayout', '1', now()),
-- 智能体管理
('6000', 'menu_admin_ai_manage', '智能体管理', NULL, '', '', 'el-icon-cpu', 6, 1, '', '1', now()),
('6001', 'menu_admin_ai', 'AI管理', 'menu_admin_ai_manage', '/admin/manage/ai/ai', 'admin/manage/ai/AIManagementView', 'el-icon-cpu', 1, 1, 'NavigationLayout', '1', now()),
@@ -178,12 +178,13 @@ INSERT INTO `tb_sys_menu_permission` (id, permission_id, menu_id, creator, creat
('219', 'perm_study_manage', 'menu_admin_study', '1', now()),
('220', 'perm_study_manage', 'menu_admin_task_publish', '1', now()),
('221', 'perm_study_manage', 'menu_admin_study_records', '1', now()),
('222', 'perm_ai_manage', 'menu_admin_ai_manage', '1', now()),
('223', 'perm_ai_manage', 'menu_admin_ai', '1', now()),
('224', 'perm_ai_manage', 'menu_admin_ai_config', '1', now()),
('225', 'perm_ai_manage', 'menu_admin_knowledge', '1', now()),
('226', 'perm_system_manage', 'menu_admin_logs_manage', '1', now()),
('227', 'perm_system_manage', 'menu_admin_system_logs', '1', now()),
('228', 'perm_system_manage', 'menu_admin_login_logs', '1', now()),
('229', 'perm_system_manage', 'menu_admin_operation_logs', '1', now()),
('230', 'perm_system_manage', 'menu_admin_system_config', '1', now());
('222', 'perm_study_manage', 'menu_admin_course_manage', '1', now()),
('223', 'perm_ai_manage', 'menu_admin_ai_manage', '1', now()),
('224', 'perm_ai_manage', 'menu_admin_ai', '1', now()),
('225', 'perm_ai_manage', 'menu_admin_ai_config', '1', now()),
('226', 'perm_ai_manage', 'menu_admin_knowledge', '1', now()),
('227', 'perm_system_manage', 'menu_admin_logs_manage', '1', now()),
('228', 'perm_system_manage', 'menu_admin_system_logs', '1', now()),
('229', 'perm_system_manage', 'menu_admin_login_logs', '1', now()),
('230', 'perm_system_manage', 'menu_admin_operation_logs', '1', now()),
('231', 'perm_system_manage', 'menu_admin_system_config', '1', now());