Files
schoolNews/schoolNewsServ/.bin/mysql/sql/createTableResource.sql

173 lines
9.3 KiB
MySQL
Raw Normal View History

2025-10-15 10:39:51 +08:00
use school_news;
-- 资源/新闻表
DROP TABLE IF EXISTS `tb_resource`;
CREATE TABLE `tb_resource` (
`id` VARCHAR(50) NOT NULL COMMENT '资源ID',
`title` VARCHAR(255) NOT NULL COMMENT '资源标题',
`content` LONGTEXT COMMENT '资源内容',
`summary` VARCHAR(500) DEFAULT NULL COMMENT '资源简介',
`cover_image` VARCHAR(255) DEFAULT NULL COMMENT '封面图片',
`category_id` VARCHAR(50) DEFAULT NULL COMMENT '分类ID',
`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`),
KEY `idx_category` (`category_id`),
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='资源表';
-- 资源分类表
DROP TABLE IF EXISTS `tb_resource_category`;
CREATE TABLE `tb_resource_category` (
`id` VARCHAR(50) NOT NULL COMMENT '分类ID',
`category_id` VARCHAR(50) NOT NULL COMMENT '分类唯一标识',
`name` VARCHAR(100) NOT NULL COMMENT '分类名称',
`parent_id` VARCHAR(50) DEFAULT NULL COMMENT '父分类ID',
`description` VARCHAR(255) DEFAULT NULL COMMENT '分类描述',
`icon` VARCHAR(100) DEFAULT NULL COMMENT '分类图标',
`order_num` INT(4) DEFAULT 0 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_category_id` (`category_id`),
KEY `idx_parent` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='资源分类表';
-- 插入默认分类(党史学习、领导讲话、政策解读、红色经典、专题报告、思政案例)
INSERT INTO `tb_resource_category` (id, category_id, name, description, order_num, creator, create_time) VALUES
('1', 'party_history', '党史学习', '党史学习相关资源', 1, '1', now()),
('2', 'leader_speech', '领导讲话', '领导讲话相关资源', 2, '1', now()),
('3', 'policy_interpretation', '政策解读', '政策解读相关资源', 3, '1', now()),
('4', 'red_classic', '红色经典', '红色经典相关资源', 4, '1', now()),
('5', 'special_report', '专题报告', '专题报告相关资源', 5, '1', now()),
('6', 'ideological_case', '思政案例', '思政案例相关资源', 6, '1', now());
-- Banner管理表
DROP TABLE IF EXISTS `tb_banner`;
CREATE TABLE `tb_banner` (
`id` VARCHAR(50) NOT NULL COMMENT 'Banner ID',
`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`),
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 '标签描述',
`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`),
UNIQUE KEY `uk_tag_name` (`name`)
) 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每周',
`category_id` VARCHAR(50) DEFAULT NULL COMMENT '默认分类ID',
`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='数据采集记录表';