Files
schoolNews/schoolNewsServ/.bin/mysql/sql/createTableSystem.sql
2025-10-15 10:39:51 +08:00

168 lines
9.4 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

use school_news;
-- 操作日志表
DROP TABLE IF EXISTS `tb_sys_operation_log`;
CREATE TABLE `tb_sys_operation_log` (
`id` VARCHAR(50) NOT NULL COMMENT '日志ID',
`user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
`username` VARCHAR(50) NOT NULL COMMENT '用户名',
`module` VARCHAR(100) DEFAULT NULL COMMENT '操作模块',
`operation` VARCHAR(100) DEFAULT NULL COMMENT '操作类型',
`method` VARCHAR(200) DEFAULT NULL COMMENT '请求方法',
`request_url` VARCHAR(500) DEFAULT NULL COMMENT '请求URL',
`request_method` VARCHAR(20) DEFAULT NULL COMMENT '请求方式GET/POST等',
`request_params` TEXT COMMENT '请求参数',
`response_data` TEXT COMMENT '响应数据',
`ip_address` VARCHAR(45) DEFAULT NULL COMMENT 'IP地址',
`ip_source` VARCHAR(100) DEFAULT NULL COMMENT 'IP来源',
`browser` VARCHAR(100) DEFAULT NULL COMMENT '浏览器',
`os` VARCHAR(100) DEFAULT NULL COMMENT '操作系统',
`status` INT(4) DEFAULT 1 COMMENT '操作状态0失败 1成功',
`error_message` TEXT COMMENT '错误消息',
`execute_time` INT(11) DEFAULT 0 COMMENT '执行时长(毫秒)',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
PRIMARY KEY (`id`),
KEY `idx_user` (`user_id`),
KEY `idx_module` (`module`),
KEY `idx_create_time` (`create_time`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='操作日志表';
-- 系统配置表
DROP TABLE IF EXISTS `tb_sys_config`;
CREATE TABLE `tb_sys_config` (
`id` VARCHAR(50) NOT NULL COMMENT '配置ID',
`config_key` VARCHAR(100) NOT NULL COMMENT '配置键',
`config_value` TEXT COMMENT '配置值',
`config_type` VARCHAR(50) DEFAULT 'string' COMMENT '配置类型string/number/boolean/json',
`config_group` VARCHAR(50) DEFAULT NULL COMMENT '配置分组',
`description` VARCHAR(255) DEFAULT NULL COMMENT '配置描述',
`is_system` TINYINT(1) 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_config_key` (`config_key`),
KEY `idx_group` (`config_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统配置表';
-- 插入默认系统配置
INSERT INTO `tb_sys_config` (id, config_key, config_value, config_type, config_group, description, is_system, creator, create_time) VALUES
('1', 'system.platform.name', '思政学习平台', 'string', 'platform', '平台名称', 1, '1', now()),
('2', 'system.platform.logo', '/assets/logo.png', 'string', 'platform', '平台Logo', 1, '1', now()),
('3', 'system.platform.school_badge', '/assets/school_badge.png', 'string', 'platform', '学校校徽', 1, '1', now()),
('4', 'system.menu.home', '首页', 'string', 'menu', '首页菜单名称', 0, '1', now()),
('5', 'system.menu.resource', '资源中心', 'string', 'menu', '资源中心菜单名称', 0, '1', now()),
('6', 'system.menu.learning', '学习计划', 'string', 'menu', '学习计划菜单名称', 0, '1', now()),
('7', 'system.menu.activity', '专题活动', 'string', 'menu', '专题活动菜单名称', 0, '1', now()),
('8', 'system.menu.culture', '红色常信', 'string', 'menu', '红色常信菜单名称', 0, '1', now()),
('9', 'system.banner.auto_play', 'true', 'boolean', 'banner', 'Banner自动播放', 0, '1', now()),
('10', 'system.banner.interval', '5000', 'number', 'banner', 'Banner切换间隔毫秒', 0, '1', now()),
('11', 'system.resource.auto_publish', 'false', 'boolean', 'resource', '资源自动发布', 0, '1', now()),
('12', 'system.resource.auto_publish_time', '08:00', 'string', 'resource', '自动发布时间', 0, '1', now()),
('13', 'system.ai.enabled', 'true', 'boolean', 'ai', '是否启用智能体', 0, '1', now());
-- 系统访问统计表
DROP TABLE IF EXISTS `tb_sys_visit_statistics`;
CREATE TABLE `tb_sys_visit_statistics` (
`id` VARCHAR(50) NOT NULL COMMENT '统计ID',
`stat_date` DATE NOT NULL COMMENT '统计日期',
`total_visits` INT(11) DEFAULT 0 COMMENT '总访问量',
`unique_visitors` INT(11) DEFAULT 0 COMMENT '独立访客数',
`new_users` INT(11) DEFAULT 0 COMMENT '新增用户数',
`active_users` INT(11) DEFAULT 0 COMMENT '活跃用户数',
`page_views` INT(11) DEFAULT 0 COMMENT '页面浏览量',
`avg_visit_duration` INT(11) DEFAULT 0 COMMENT '平均访问时长(秒)',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_stat_date` (`stat_date`),
KEY `idx_date` (`stat_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统访问统计表';
-- 通知表
DROP TABLE IF EXISTS `tb_sys_notification`;
CREATE TABLE `tb_sys_notification` (
`id` VARCHAR(50) NOT NULL COMMENT '通知ID',
`user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
`type` INT(4) DEFAULT 1 COMMENT '通知类型1系统通知 2任务通知 3成就通知',
`title` VARCHAR(255) NOT NULL COMMENT '通知标题',
`content` TEXT COMMENT '通知内容',
`link_type` INT(4) DEFAULT NULL COMMENT '链接类型1资源 2课程 3任务',
`link_id` VARCHAR(50) DEFAULT NULL COMMENT '链接ID',
`is_read` TINYINT(1) DEFAULT 0 COMMENT '是否已读',
`read_time` TIMESTAMP NULL DEFAULT NULL COMMENT '阅读时间',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_user` (`user_id`),
KEY `idx_is_read` (`is_read`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统通知表';
-- 文件上传记录表
DROP TABLE IF EXISTS `tb_sys_file`;
CREATE TABLE `tb_sys_file` (
`id` VARCHAR(50) NOT NULL COMMENT '文件ID',
`file_name` VARCHAR(255) NOT NULL COMMENT '文件名',
`original_name` VARCHAR(255) NOT NULL COMMENT '原始文件名',
`file_path` VARCHAR(500) NOT NULL COMMENT '文件路径',
`file_url` VARCHAR(500) DEFAULT NULL COMMENT '访问URL',
`file_size` BIGINT(20) DEFAULT 0 COMMENT '文件大小(字节)',
`file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型',
`mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型',
`module` VARCHAR(50) DEFAULT NULL COMMENT '所属模块',
`business_id` VARCHAR(50) DEFAULT NULL COMMENT '业务ID',
`uploader` VARCHAR(50) DEFAULT NULL COMMENT '上传者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
PRIMARY KEY (`id`),
KEY `idx_module` (`module`),
KEY `idx_business` (`business_id`),
KEY `idx_uploader` (`uploader`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='文件上传记录表';
-- 数据字典表
DROP TABLE IF EXISTS `tb_sys_dict_type`;
CREATE TABLE `tb_sys_dict_type` (
`id` VARCHAR(50) NOT NULL COMMENT '字典类型ID',
`dict_type` VARCHAR(100) NOT NULL COMMENT '字典类型',
`dict_name` VARCHAR(100) NOT NULL COMMENT '字典名称',
`description` VARCHAR(255) DEFAULT NULL 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`),
UNIQUE KEY `uk_dict_type` (`dict_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典类型表';
-- 数据字典详情表
DROP TABLE IF EXISTS `tb_sys_dict_data`;
CREATE TABLE `tb_sys_dict_data` (
`id` VARCHAR(50) NOT NULL COMMENT '字典数据ID',
`dict_type` VARCHAR(100) NOT NULL COMMENT '字典类型',
`dict_label` VARCHAR(100) NOT NULL COMMENT '字典标签',
`dict_value` VARCHAR(100) NOT NULL COMMENT '字典值',
`dict_sort` INT(4) DEFAULT 0 COMMENT '排序',
`css_class` VARCHAR(100) DEFAULT NULL COMMENT '样式类',
`list_class` VARCHAR(100) DEFAULT NULL COMMENT '列表样式',
`is_default` TINYINT(1) DEFAULT 0 COMMENT '是否默认',
`status` INT(4) DEFAULT 1 COMMENT '状态0禁用 1启用',
`remark` 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`),
KEY `idx_dict_type` (`dict_type`),
KEY `idx_dict_sort` (`dict_sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典数据表';