This commit is contained in:
nanguaboss
2026-08-03 00:07:01 +08:00
commit 71c6e8d9c1
112 changed files with 7815 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
-- ============================================================
-- SuperLink Web 后台管理系统 - 新增系统表
-- 数据库:mysuperlink (utf8mb4 / utf8mb4_unicode_ci)
-- 说明:
-- 1) 原库已有14张业务表(companies/persons/social_accounts/company_needs 等),本文件不改动它们。
-- 2) 本文件新增文档要求的 3 张系统表:system_users / system_roles / system_logs(含默认数据)。
-- 3) 另新增 1 张业务表 channels(渠道管理模块需要,原14张表中没有渠道表),
-- 如不需要渠道模块可直接跳过该段。
-- 执行方式:Navicat / phpMyAdmin / mysql 命令行执行本文件即可(可重复执行前请先删除旧表)。
-- ============================================================
SET NAMES utf8mb4;
-- ------------------------------------------------------------
-- 1. 系统用户表
-- ------------------------------------------------------------
DROP TABLE IF EXISTS `system_users`;
CREATE TABLE `system_users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`username` VARCHAR(50) NOT NULL COMMENT '登录账号',
`password` VARCHAR(64) NOT NULL COMMENT '密码(sha1加密)',
`real_name` VARCHAR(50) DEFAULT NULL COMMENT '真实姓名',
`role_id` INT UNSIGNED NOT NULL COMMENT '角色ID',
`is_active` TINYINT(1) UNSIGNED DEFAULT 1 COMMENT '启用状态(0禁用,1启用)',
`last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',
`last_login_ip` VARCHAR(50) DEFAULT NULL COMMENT '最后登录IP',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_username` (`username`),
KEY `idx_role_id` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统用户表';
-- ------------------------------------------------------------
-- 2. 系统角色表
-- ------------------------------------------------------------
DROP TABLE IF EXISTS `system_roles`;
CREATE TABLE `system_roles` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`role_name` VARCHAR(50) NOT NULL COMMENT '角色名称',
`permissions` JSON NOT NULL COMMENT '权限列表(菜单标识数组)',
`is_active` TINYINT(1) UNSIGNED DEFAULT 1 COMMENT '启用状态',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_name` (`role_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统角色表';
-- ------------------------------------------------------------
-- 3. 操作日志表
-- ------------------------------------------------------------
DROP TABLE IF EXISTS `system_logs`;
CREATE TABLE `system_logs` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`user_id` INT UNSIGNED NOT NULL COMMENT '操作人ID',
`username` VARCHAR(50) NOT NULL COMMENT '操作人账号',
`action` VARCHAR(50) NOT NULL COMMENT '操作类型(login/logout/add/update/delete/import/export/audit/convert)',
`module` VARCHAR(50) NOT NULL COMMENT '操作模块(company/person/media/need/preliminary/system等)',
`target_table` VARCHAR(50) DEFAULT NULL COMMENT '操作对象表名',
`target_id` INT UNSIGNED DEFAULT NULL COMMENT '操作对象记录ID',
`content` JSON DEFAULT NULL COMMENT '操作内容(变更前后数据)',
`ip` VARCHAR(50) DEFAULT NULL COMMENT '客户端IP',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_action` (`action`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='操作日志表';
-- ------------------------------------------------------------
-- 4. 默认数据(必须插入)
-- ------------------------------------------------------------
-- 超级管理员角色
INSERT INTO `system_roles` (`role_name`, `permissions`) VALUES
('超级管理员', '["dashboard","company","person","media","need","marketing","channel","document","preliminary","system","log"]');
-- 默认管理员账号(密码:admin123,sha1加密)
INSERT INTO `system_users` (`username`, `password`, `real_name`, `role_id`) VALUES
('admin', SHA1('admin123'), '系统管理员', 1);
-- 基础角色(可选,建议一并创建)
INSERT INTO `system_roles` (`role_name`, `permissions`) VALUES
('数据管理员', '["dashboard","company","person","media","document","preliminary"]'),
('业务专员', '["dashboard","need","marketing"]'),
('只读访客', '["dashboard"]');
-- ------------------------------------------------------------
-- 5. 渠道管理业务表(原14张表中无渠道表,渠道模块所需,按需创建)
-- ------------------------------------------------------------
DROP TABLE IF EXISTS `channels`;
CREATE TABLE `channels` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`channel_name` VARCHAR(100) NOT NULL COMMENT '渠道名称',
`channel_type` VARCHAR(50) DEFAULT NULL COMMENT '渠道类型(线上/线下/展会/转介绍等)',
`contact_person` VARCHAR(50) DEFAULT NULL COMMENT '联系人',
`contact_phone` VARCHAR(50) DEFAULT NULL COMMENT '联系电话',
`contact_email` VARCHAR(100) DEFAULT NULL COMMENT '联系邮箱',
`efficiency_score` DECIMAL(5,2) DEFAULT 0 COMMENT '效率评分(0-100)',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
`is_active` TINYINT(1) UNSIGNED DEFAULT 1 COMMENT '启用状态',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_channel_type` (`channel_type`),
KEY `idx_is_active` (`is_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='渠道管理表';