serv-权限+文件下载

This commit is contained in:
2025-10-18 17:57:14 +08:00
parent e0f4815d48
commit b3424e554f
30 changed files with 235 additions and 105 deletions

View File

@@ -1,31 +0,0 @@
-- --------------------------------------------------------
-- 文件上传记录表
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `tb_sys_file` (
`id` VARCHAR(50) NOT NULL COMMENT '主键ID',
`file_id` VARCHAR(64) NOT NULL COMMENT '文件ID',
`file_name` VARCHAR(255) NOT NULL COMMENT '存储文件名UUID生成',
`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 NOT NULL COMMENT '文件大小(字节)',
`file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型image、document、video等',
`mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型image/jpeg',
`storage_type` VARCHAR(20) NOT NULL DEFAULT 'local' COMMENT '存储类型local-本地存储、minio-MinIO存储、oss-阿里云OSS等',
`module` VARCHAR(50) DEFAULT NULL COMMENT '所属模块user、news、course等',
`business_id` VARCHAR(64) DEFAULT NULL COMMENT '业务ID关联的业务数据ID',
`uploader` VARCHAR(64) DEFAULT NULL COMMENT '上传者用户ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0-否1-是)',
PRIMARY KEY (`id`),
INDEX `idx_file_id` (`file_id`),
INDEX `idx_file_name` (`file_name`),
INDEX `idx_uploader` (`uploader`),
INDEX `idx_module_business` (`module`, `business_id`),
INDEX `idx_storage_type` (`storage_type`),
INDEX `idx_deleted` (`deleted`),
INDEX `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件上传记录表';

View File

@@ -87,26 +87,39 @@ CREATE TABLE `tb_sys_notification` (
) 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='文件上传记录表';
CREATE TABLE IF NOT EXISTS `tb_sys_file` (
`id` VARCHAR(50) NOT NULL COMMENT '主键ID',
`file_id` VARCHAR(64) NOT NULL COMMENT '文件ID',
`file_name` VARCHAR(255) NOT NULL COMMENT '存储文件名UUID生成',
`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 NOT NULL COMMENT '文件大小(字节)',
`file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型image、document、video等',
`mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型image/jpeg',
`storage_type` VARCHAR(20) NOT NULL DEFAULT 'local' COMMENT '存储类型local-本地存储、minio-MinIO存储、oss-阿里云OSS等',
`module` VARCHAR(50) DEFAULT NULL COMMENT '所属模块user、news、course等',
`business_id` VARCHAR(64) DEFAULT NULL COMMENT '业务ID关联的业务数据ID',
`uploader` VARCHAR(64) DEFAULT NULL COMMENT '上传者用户ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0-否1-是)',
PRIMARY KEY (`id`),
INDEX `idx_file_id` (`file_id`),
INDEX `idx_file_name` (`file_name`),
INDEX `idx_uploader` (`uploader`),
INDEX `idx_module_business` (`module`, `business_id`),
INDEX `idx_storage_type` (`storage_type`),
INDEX `idx_deleted` (`deleted`),
INDEX `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件上传记录表';
-- 数据字典表
DROP TABLE IF EXISTS `tb_sys_dict_type`;

View File

@@ -31,6 +31,7 @@ CREATE TABLE `tb_sys_user_info` (
`family_name` VARCHAR(50) DEFAULT NULL COMMENT '',
`given_name` VARCHAR(50) DEFAULT NULL COMMENT '',
`full_name` VARCHAR(100) DEFAULT NULL COMMENT '全名',
`level` INT(4) DEFAULT 1 COMMENT '等级',
`id_card` VARCHAR(50) DEFAULT NULL COMMENT '身份证号',
`address` VARCHAR(255) DEFAULT NULL COMMENT '地址',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

View File

@@ -35,9 +35,6 @@ SOURCE createTableAI.sql;
-- 10. 创建系统配置和日志相关表
SOURCE createTableSystem.sql;
-- 11. 创建文件系统相关表
SOURCE createTableFile.sql;
-- =====================================================
-- 插入初始数据
-- =====================================================

View File

@@ -5,13 +5,15 @@ INSERT INTO `tb_sys_dept` (id,dept_id,name, description) VALUES ('1','root_depar
INSERT INTO `tb_sys_dept` (id,dept_id,name, parent_id, description) VALUES ('2','default_department', '默认部门', 'root_department', '系统默认创建的部门');
-- 插入角色数据
INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('1','superadmin', '管理员', '系统管理员角色');
INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('2','freedom', '自由角色', '自由角色');
INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('1','superadmin', '超级管理员', '超级管理员角色');
INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('2','admin', '管理员', '管理员角色');
INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('3','freedom', '自由角色', '自由角色');
-- 插入部门-角色关联数据
INSERT INTO `tb_sys_dept_role` (id, dept_id, role_id, creator, create_time) VALUES
('1', 'root_department', 'superadmin', '1', now()),
('2', 'default_department', 'freedom', '1', now());
('2', 'default_department', 'admin', '1', now()),
('3', 'default_department', 'freedom', '1', now());
-- 插入用户-角色关联数据
INSERT INTO `tb_sys_user_dept_role` (id, user_id, dept_id, role_id, creator, create_time) VALUES ('1', '1', 'root_department', 'superadmin', '1', now());
@@ -36,10 +38,11 @@ INSERT INTO `tb_sys_permission` (id,permission_id, name, code, description, modu
('6','perm_system_user_manage', '系统用户查看', 'system:user:manage', '系统用户查看权限', 'module_system', '1', now()),
('7','perm_system_module_manage', '系统模块查看', 'system:module:manage', '系统模块查看权限', 'module_system', '1', now()),
('8','perm_news_manage', '新闻管理', 'news:manage', '新闻管理权限', 'module_news', '1', now()),
('9','perm_study_manage', '学习管理', 'study:manage', '学习管理权限', 'module_study', '1', now()),
('10','perm_ai_manage', 'AI管理', 'ai:manage', 'AI管理权限', 'module_ai', '1', now()),
('11','perm_usercenter_manage', '用户中心管理', 'usercenter:manage', '用户中心管理权限', 'module_usercenter', '1', now()),
('12','perm_file_manage', '文件管理', 'file:manage', '文件管理权限', 'module_file', '1', now());
('9','perm_news_article_add', '文章添加', 'news:manage', '文章添加权限', 'module_news', '1', now()),
('10','perm_study_manage', '学习管理', 'study:manage', '学习管理权限', 'module_study', '1', now()),
('11','perm_ai_manage', 'AI管理', 'ai:manage', 'AI管理权限', 'module_ai', '1', now()),
('12','perm_usercenter_manage', '用户中心管理', 'usercenter:manage', '用户中心管理权限', 'module_usercenter', '1', now()),
('13','perm_file_manage', '文件管理', 'file:manage', '文件管理权限', 'module_file', '1', now());
-- 插入角色-权限关联数据
INSERT INTO `tb_sys_role_permission` (id, role_id, permission_id, creator, create_time) VALUES
@@ -52,11 +55,12 @@ INSERT INTO `tb_sys_role_permission` (id, role_id, permission_id, creator, creat
('6', 'superadmin', 'perm_system_user_manage', '1', now()),
('7', 'superadmin', 'perm_system_module_manage', '1', now()),
('8', 'superadmin', 'perm_news_manage', '1', now()),
('9', 'superadmin', 'perm_study_manage', '1', now()),
('10', 'superadmin', 'perm_ai_manage', '1', now()),
('11', 'superadmin', 'perm_usercenter_manage', '1', now()),
('12', 'superadmin', 'perm_file_manage', '1', now()),
('13', 'freedom', 'perm_default', '1', now());
('9', 'superadmin', 'perm_news_article_add', '1', now()),
('10', 'superadmin', 'perm_study_manage', '1', now()),
('11', 'superadmin', 'perm_ai_manage', '1', now()),
('12', 'superadmin', 'perm_usercenter_manage', '1', now()),
('13', 'superadmin', 'perm_file_manage', '1', now()),
('14', 'freedom', 'perm_default', '1', now());
-- 插入前端菜单数据
INSERT INTO `tb_sys_menu` (id, menu_id, name, parent_id, url, component, icon, order_num, type, layout, creator, create_time) VALUES
@@ -110,6 +114,9 @@ INSERT INTO `tb_sys_menu` (id, menu_id, name, parent_id, url, component, icon, o
('3002', 'menu_admin_article', '文章管理', 'menu_admin_resource_manage', '/admin/manage/resource/article', 'admin/manage/resource/ArticleManagementView', 'el-icon-document', 2, 1, 'NavigationLayout', '1', now()),
('3003', 'menu_admin_data_records', '数据记录', 'menu_admin_resource_manage', '/admin/manage/resource/data-records', 'admin/manage/resource/DataRecordsView', 'el-icon-data-line', 3, 1, 'NavigationLayout', '1', now()),
-- 文章相关
('3010', 'menu_article_add', '文章添加', 'menu_admin_article', '/article/add', 'article/ArticleAddView', 'el-icon-plus', 1, 3, 'NavigationLayout', '1', now()),
-- 运营管理
('4000', 'menu_admin_content_manage', '运营管理', NULL, '', '', 'el-icon-s-operation', 4, 1, '', '1', now()),
('4001', 'menu_admin_banner', 'Banner管理', 'menu_admin_content_manage', '/admin/manage/content/banner', 'admin/manage/content/BannerManagementView', 'el-icon-picture', 1, 1, 'NavigationLayout', '1', now()),
@@ -159,6 +166,7 @@ INSERT INTO `tb_sys_menu_permission` (id, permission_id, menu_id, creator, creat
('117', 'perm_default', 'menu_account_settings', '1', now()),
('118', 'perm_ai_manage', 'menu_ai_assistant', '1', now()),
('119', 'perm_default', 'menu_user_dropdown', '1', now()),
('120', 'perm_news_article_add', 'menu_article_add', '1', now()),
-- 后端管理菜单权限关联

View File

@@ -145,6 +145,7 @@ show_initialization_info() {
print_message $YELLOW " - 学习管理"
print_message $YELLOW " - AI智能体"
print_message $YELLOW " - 系统配置"
print_message $YELLOW " - 文件管理"
print_message $BLUE "====================================================="
}