2025-10-15 10:39:51 +08:00
|
|
|
|
use school_news;
|
|
|
|
|
|
-- 资源/新闻表
|
|
|
|
|
|
DROP TABLE IF EXISTS `tb_resource`;
|
|
|
|
|
|
CREATE TABLE `tb_resource` (
|
2025-10-20 18:28:26 +08:00
|
|
|
|
`id` VARCHAR(50) NOT NULL COMMENT 'ID',
|
|
|
|
|
|
`resource_id` VARCHAR(50) NOT NULL COMMENT '资源ID',
|
2025-10-15 10:39:51 +08:00
|
|
|
|
`title` VARCHAR(255) NOT NULL COMMENT '资源标题',
|
|
|
|
|
|
`content` LONGTEXT COMMENT '资源内容',
|
|
|
|
|
|
`summary` VARCHAR(500) DEFAULT NULL COMMENT '资源简介',
|
|
|
|
|
|
`cover_image` VARCHAR(255) DEFAULT NULL COMMENT '封面图片',
|
2025-10-27 16:21:00 +08:00
|
|
|
|
`tag_id` VARCHAR(50) DEFAULT NULL COMMENT '标签ID(文章分类标签,tagType=1)',
|
2025-10-15 10:39:51 +08:00
|
|
|
|
`author` VARCHAR(100) DEFAULT NULL COMMENT '作者',
|
|
|
|
|
|
`source` VARCHAR(255) DEFAULT NULL COMMENT '来源',
|
|
|
|
|
|
`source_url` VARCHAR(500) DEFAULT NULL COMMENT '来源URL',
|
|
|
|
|
|
`view_count` INT(11) DEFAULT 0 COMMENT '浏览次数',
|
|
|
|
|
|
`like_count` INT(11) DEFAULT 0 COMMENT '点赞次数',
|
|
|
|
|
|
`collect_count` INT(11) DEFAULT 0 COMMENT '收藏次数',
|
|
|
|
|
|
`status` INT(4) DEFAULT 0 COMMENT '状态(0草稿 1已发布 2下架)',
|
|
|
|
|
|
`is_recommend` TINYINT(1) DEFAULT 0 COMMENT '是否推荐',
|
|
|
|
|
|
`is_banner` TINYINT(1) DEFAULT 0 COMMENT '是否轮播',
|
|
|
|
|
|
`publish_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`),
|
2025-10-20 18:28:26 +08:00
|
|
|
|
KEY `idx_resource_id` (`resource_id`),
|
2025-10-27 16:21:00 +08:00
|
|
|
|
KEY `idx_tag` (`tag_id`),
|
2025-10-15 10:39:51 +08:00
|
|
|
|
KEY `idx_status` (`status`),
|
|
|
|
|
|
KEY `idx_publish_time` (`publish_time`),
|
|
|
|
|
|
KEY `idx_view_count` (`view_count`)
|
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='资源表';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Banner管理表
|
|
|
|
|
|
DROP TABLE IF EXISTS `tb_banner`;
|
|
|
|
|
|
CREATE TABLE `tb_banner` (
|
2025-10-28 19:04:35 +08:00
|
|
|
|
`id` VARCHAR(50) NOT NULL COMMENT 'ID',
|
|
|
|
|
|
`banner_id` VARCHAR(50) NOT NULL COMMENT 'Banner ID',
|
2025-10-15 10:39:51 +08:00
|
|
|
|
`title` VARCHAR(255) NOT NULL COMMENT 'Banner标题',
|
|
|
|
|
|
`image_url` VARCHAR(500) NOT NULL COMMENT 'Banner图片URL',
|
|
|
|
|
|
`link_type` INT(4) DEFAULT 1 COMMENT '链接类型(1资源 2课程 3外部链接)',
|
|
|
|
|
|
`link_id` VARCHAR(50) DEFAULT NULL COMMENT '关联ID(资源ID或课程ID)',
|
|
|
|
|
|
`link_url` VARCHAR(500) DEFAULT NULL COMMENT '外部链接URL',
|
|
|
|
|
|
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
|
|
|
|
|
|
`status` INT(4) DEFAULT 1 COMMENT '状态(0禁用 1启用)',
|
|
|
|
|
|
`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`),
|
2025-10-28 19:04:35 +08:00
|
|
|
|
UNIQUE KEY `uk_banner_id` (`banner_id`),
|
2025-10-15 10:39:51 +08:00
|
|
|
|
KEY `idx_order` (`order_num`),
|
|
|
|
|
|
KEY `idx_status` (`status`)
|
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Banner表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 资源推荐表
|
|
|
|
|
|
DROP TABLE IF EXISTS `tb_resource_recommend`;
|
|
|
|
|
|
CREATE TABLE `tb_resource_recommend` (
|
|
|
|
|
|
`id` VARCHAR(50) NOT NULL COMMENT '推荐ID',
|
|
|
|
|
|
`resource_id` VARCHAR(50) NOT NULL COMMENT '资源ID',
|
|
|
|
|
|
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
|
|
|
|
|
|
`reason` VARCHAR(255) 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_resource` (`resource_id`),
|
|
|
|
|
|
KEY `idx_order` (`order_num`)
|
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='资源推荐表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 标签表
|
|
|
|
|
|
DROP TABLE IF EXISTS `tb_tag`;
|
|
|
|
|
|
CREATE TABLE `tb_tag` (
|
|
|
|
|
|
`id` VARCHAR(50) NOT NULL COMMENT '标签ID',
|
|
|
|
|
|
`tag_id` VARCHAR(50) NOT NULL COMMENT '标签唯一标识',
|
|
|
|
|
|
`name` VARCHAR(100) NOT NULL COMMENT '标签名称',
|
|
|
|
|
|
`color` VARCHAR(20) DEFAULT NULL COMMENT '标签颜色',
|
|
|
|
|
|
`description` VARCHAR(255) DEFAULT NULL COMMENT '标签描述',
|
2025-10-27 16:21:00 +08:00
|
|
|
|
`tag_type` INT(4) DEFAULT 1 COMMENT '标签类型(1-文章分类标签 2-课程分类标签 3-学习任务分类标签)',
|
2025-10-15 10:39:51 +08:00
|
|
|
|
`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_tag_id` (`tag_id`),
|
2025-10-27 16:21:00 +08:00
|
|
|
|
UNIQUE KEY `uk_tag_name_type` (`name`, `tag_type`),
|
|
|
|
|
|
KEY `idx_tag_type` (`tag_type`)
|
2025-10-15 10:39:51 +08:00
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='标签表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 资源标签关联表
|
|
|
|
|
|
DROP TABLE IF EXISTS `tb_resource_tag`;
|
|
|
|
|
|
CREATE TABLE `tb_resource_tag` (
|
|
|
|
|
|
`id` VARCHAR(50) NOT NULL COMMENT '关联ID',
|
|
|
|
|
|
`resource_id` VARCHAR(50) NOT NULL COMMENT '资源ID',
|
|
|
|
|
|
`tag_id` VARCHAR(50) NOT NULL COMMENT '标签ID',
|
|
|
|
|
|
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
|
|
|
|
|
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
|
|
|
PRIMARY KEY (`id`),
|
|
|
|
|
|
UNIQUE KEY `uk_resource_tag` (`resource_id`, `tag_id`),
|
|
|
|
|
|
KEY `idx_resource` (`resource_id`),
|
|
|
|
|
|
KEY `idx_tag` (`tag_id`)
|
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='资源标签关联表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 数据采集配置表
|
|
|
|
|
|
DROP TABLE IF EXISTS `tb_data_collection_config`;
|
|
|
|
|
|
CREATE TABLE `tb_data_collection_config` (
|
|
|
|
|
|
`id` VARCHAR(50) NOT NULL COMMENT '配置ID',
|
|
|
|
|
|
`name` VARCHAR(100) NOT NULL COMMENT '配置名称',
|
|
|
|
|
|
`source_url` VARCHAR(500) NOT NULL COMMENT '采集源URL',
|
|
|
|
|
|
`source_type` VARCHAR(50) DEFAULT NULL COMMENT '采集源类型',
|
|
|
|
|
|
`frequency` VARCHAR(20) DEFAULT 'daily' COMMENT '采集频率(daily每天 weekly每周)',
|
2025-10-27 16:21:00 +08:00
|
|
|
|
`tag_id` VARCHAR(50) DEFAULT NULL COMMENT '默认标签ID(文章分类标签,tagType=1)',
|
2025-10-15 10:39:51 +08:00
|
|
|
|
`status` INT(4) DEFAULT 1 COMMENT '状态(0禁用 1启用)',
|
|
|
|
|
|
`last_collect_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`)
|
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='数据采集配置表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 数据采集记录表
|
|
|
|
|
|
DROP TABLE IF EXISTS `tb_data_collection_log`;
|
|
|
|
|
|
CREATE TABLE `tb_data_collection_log` (
|
|
|
|
|
|
`id` VARCHAR(50) NOT NULL COMMENT '记录ID',
|
|
|
|
|
|
`config_id` VARCHAR(50) NOT NULL COMMENT '配置ID',
|
|
|
|
|
|
`collect_count` INT(11) DEFAULT 0 COMMENT '采集数量',
|
|
|
|
|
|
`success_count` INT(11) DEFAULT 0 COMMENT '成功数量',
|
|
|
|
|
|
`fail_count` INT(11) DEFAULT 0 COMMENT '失败数量',
|
|
|
|
|
|
`status` INT(4) DEFAULT 1 COMMENT '状态(0失败 1成功 2部分成功)',
|
|
|
|
|
|
`message` TEXT COMMENT '采集消息',
|
|
|
|
|
|
`collect_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '采集时间',
|
|
|
|
|
|
PRIMARY KEY (`id`),
|
|
|
|
|
|
KEY `idx_config` (`config_id`),
|
|
|
|
|
|
KEY `idx_collect_time` (`collect_time`)
|
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='数据采集记录表';
|
|
|
|
|
|
|