Skip to content

系统管理平台表设计

sql
create table if not exists sys_user (
  id int(11) unsigned not null AUTO_INCREMENT,
  username varchar(255) COMMENT '登录账号',
  password varchar(255) COMMENT '密码',
  real_name varchar(255) COMMENT '显示用户名',
  email varchar(80) COMMENT '电子邮件',
  phone varchar(20) COMMENT '电话',
  num int(11) COMMENT '序号',
  status int(1) COMMENT '状态 0-启用 1-停用',
  sex tinyint(1) DEFAULT NULL COMMENT '性别',
  remark varchar(255) COMMENT '备注',
  create_time datetime COMMENT'创建时间',
  del_flag tinyint(1) DEFAULT '0' COMMENT '0-存在 1-删除',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户表';

create table if not exists sys_role (
  id	int(11) unsigned not null AUTO_INCREMENT,
  role_name  varchar(50) COMMENT '角色名称',
  role_code  varchar(50) COMMENT '角色代码',
  num   int(11) COMMENT '序号',
  remark   varchar(255) COMMENT '备注',
  create_time datetime COMMENT '创建时间',
  del_flag tinyint(1) DEFAULT '0' COMMENT '0-存在 1-删除',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='角色表';

create table if not exists sys_menu (
  id int(11) unsigned not null AUTO_INCREMENT,
  p_id int(11) unsigned COMMENT '父id',
  menu_name varchar(255) COMMENT '资源名称',
  menu_code varchar(255) COMMENT '资源代码 如:sys:user:list',
  menu_type int(11) COMMENT '资源类型 0-目录 1-菜单 2-按钮',
  url varchar(255) COMMENT '资源url路径',
  icon varchar(100) COMMENT '资源图标',
  is_show tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否显示(0-是,1-否)',
  num int(11) COMMENT '序号',
  remark varchar(255) COMMENT '备注',
  create_time datetime COMMENT '创建时间',
  del_flag tinyint(1) DEFAULT '0' COMMENT '0-存在 1-删除',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='资源表';

create table if not exists sys_dept (
  id int(11) unsigned not null AUTO_INCREMENT,
  dept_name varchar(255) COMMENT '部门名称',
  dept_code varchar(255) COMMENT '部门代码',
  p_id int(11) unsigned COMMENT '父部门id',
  dept_type int(1) COMMENT '组织机构类型 0-部门 1-公司',
  num int(11) COMMENT '序号',
  remark varchar(255) COMMENT '备注',
  create_time datetime COMMENT '创建时间',
  del_flag tinyint(1) DEFAULT '0' COMMENT '0-存在 1-删除',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='部门表';

create table if not exists sys_user_role (
  id int(11) unsigned not null AUTO_INCREMENT,
  user_id int(11) unsigned not null COMMENT '用户id',
  role_id int(11) unsigned not null COMMENT '角色id',
  create_time datetime COMMENT '创建时间',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户与角色关联表';

create table if not exists sys_role_menu (
  id int(11) unsigned not null AUTO_INCREMENT,
  role_id int(11) unsigned not null COMMENT '角色id',
  menu_id int(11) unsigned not null COMMENT '菜单id',
  create_time datetime COMMENT '创建时间',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='角色与资源关联表';

create table if not exists sys_user_dept (
  id int(11) unsigned not null AUTO_INCREMENT,
  user_id int(11) unsigned not null COMMENT '用户id',
  dept_id int(11) unsigned not null COMMENT '所属部门id',
  create_time datetime COMMENT '创建时间',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户与部门关联表';

create table if not exists sys_dict (
   id int(11) unsigned not null AUTO_INCREMENT,
   dict_name varchar(255) COMMENT '字典名字',
   dict_code varchar(255) COMMENT '字典值',
   p_id int(11) unsigned COMMENT '父id',
   sort int(11) COMMENT '序号',
   remark varchar(255) COMMENT '备注',
   create_time datetime COMMENT '创建时间',
   del_flag tinyint(1) DEFAULT '0' COMMENT '0-存在 1-删除',
   PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='字典表';

create table if not exists sys_config (
   id int(11) unsigned not null AUTO_INCREMENT,
   key varchar(255) COMMENT '参数键名',
   value varchar(255) COMMENT '参数键值',
   remark varchar(255) COMMENT '备注',
   create_time datetime COMMENT '创建时间',
   status tinyint(1) DEFAULT '0' COMMENT '0-启用 1-停用',
   del_flag tinyint(1) DEFAULT '0' COMMENT '0-存在 1-删除',
   PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='系统参数表';

CREATE TABLE if not exists sys_login_log (
  id int(11) unsigned not null AUTO_INCREMENT,
  log_name varchar(255) COMMENT '日志名称',
  user_id int(11) unsigned,
  msg varchar(5000) COMMENT '日志信息',
  succeed int(2) COMMENT '是否成功 成功 失败',
  ip varchar(255) COMMENT '登录ip',
  create_time datetime COMMENT '创建时间',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='登录日志表';

CREATE TABLE if not exists sys_log (
  id int(11) unsigned not null AUTO_INCREMENT,
  log_name varchar(255) COMMENT '日志名称',
  log_type varchar(255) COMMENT '日志类型 登录日志 业务日志',
  busi_type varchar(255) COMMENT '业务类型',
  user_id int(11) unsigned COMMENT '用户id',
  class_name varchar(255) COMMENT '类名称',
  method varchar(500) COMMENT '方法名称',
  msg varchar(5000) COMMENT '日志信息',
  succeed int(2) COMMENT '是否成功 成功 失败',
  ip varchar(255) COMMENT '登录ip',
  create_time datetime COMMENT '创建时间',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='系统日志表';

CREATE TABLE `sys_job` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `job_code` varchar(255) COMMENT '任务code',
  `job_name` varchar(255) COMMENT '任务名称',
  `bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
  `method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
  `params` varchar(2000) DEFAULT NULL COMMENT '参数',
  `cron_expression` varchar(100) DEFAULT NULL COMMENT 'cron表达式',
  `status` tinyint(4) DEFAULT NULL COMMENT '任务状态 0-正常 1-暂停',
  `module` varchar(145) COMMENT '模块',
  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务配置表';

CREATE TABLE `sys_job_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `job_id` int(11) NOT NULL COMMENT '任务id',
  `bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
  `method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
  `params` varchar(2000) DEFAULT NULL COMMENT '参数',
  `status` tinyint(4) NOT NULL COMMENT '任务状态 0:成功 1:失败',
  `error` varchar(2000) DEFAULT NULL COMMENT '失败信息',
  `times` int(11) NOT NULL COMMENT '耗时(单位:毫秒)',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务日志表';


CREATE TABLE if not exists sys_notice (
  id int(11) unsigned not null AUTO_INCREMENT,
  title varchar(255)  COMMENT '标题',
  notice_type int(2)  COMMENT '类型',
  msg text COMMENT '内容',
  create_user int(11) unsigned COMMENT '创建人',
  create_time datetime COMMENT '创建时间',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='通知表';

CREATE TABLE if not exists `sys_notice_template` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `type` varchar(15)  NOT NULL,
  `name` varchar(45)  NOT NULL,
  `code` varchar(45)  NOT NULL,
  `template` text  NOT NULL,
  `remark` varchar(500)  DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='通知模板表';

create table if not exists sys_todo (
   id int(11) unsigned not null AUTO_INCREMENT,
   title varchar(255) COMMENT '标题',
   status int(2) COMMENT '状态:0-已办 1-待办 ',
   url varchar(255) COMMENT '待办详细页面url',
   todo_user int(11) unsigned COMMENT '待办人',
   todo_time datetime COMMENT '已办时间',
   remark varchar(255) COMMENT '备注',
   create_user int(11) COMMENT '发送人',
   create_time datetime COMMENT '发送时间',
   PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='待办表';

CREATE TABLE if not exists sys_area (
  id int(11) unsigned not null AUTO_INCREMENT,
  p_id int(11) unsigned COMMENT '父级编号',
  area_name   varchar(100) COMMENT '区域名称',
  area_code varchar(100)  COMMENT '区域编码',
  type int(2)  COMMENT '区域类型',
  create_user int(11) unsigned  COMMENT '创建者',
  remark varchar(255)  COMMENT '备注',
  create_time datetime  COMMENT '创建时间',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='城市区域表';

CREATE TABLE IF NOT EXISTS sys_user_thirdparty (
  id int(11) unsigned not null AUTO_INCREMENT,
  user_id int(11) NOT NULL,
  provider varchar(50) NOT NULL COMMENT '第三方类型',
  open_id varchar(50) NOT NULL COMMENT '第三方Id',
  enable tinyint(1) DEFAULT NULL,
  remark varchar(5000) DEFAULT NULL,
  create_user int(11) NOT NULL,
  create_time datetime NOT NULL,
  update_user int(11) NOT NULL,
  update_time datetime NOT NULL,
  PRIMARY KEY (id),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='第三方用户表';

CREATE TABLE IF NOT EXISTS `sys_sms` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `phone` varchar(25) NOT NULL,
  `content` varchar(100) NOT NULL,
  `send_time` datetime DEFAULT NULL,
  `sms_type` varchar(15) DEFAULT NULL,
  `return_code` varchar(15) DEFAULT NULL,
  `send_status` varchar(2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='短信表';

CREATE TABLE IF NOT EXISTS sys_email (
  id int(11) unsigned not null AUTO_INCREMENT,
  email_name varchar(128) NOT NULL COMMENT '邮件名称',
  sender varchar(32) NOT NULL COMMENT '使用发送',
  email_title varchar(256) NOT NULL COMMENT '发送标题',
  email_content text NOT NULL COMMENT '发送内容',
  remark varchar(500) DEFAULT NULL,
  create_user int(11) NOT NULL,
  create_time datetime NOT NULL,
  update_user int(11) NOT NULL,
  update_time datetime NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='邮件表';

CREATE TABLE IF NOT EXISTS sys_email_template (
  id int(11) unsigned not null AUTO_INCREMENT,
  email_name varchar(128) NOT NULL COMMENT '邮件名称',
  email_account varchar(32) DEFAULT NULL COMMENT '发送邮件帐号',
  sort_no int(5) DEFAULT NULL COMMENT '排序号',
  title varchar(512) DEFAULT NULL COMMENT '标题模版',
  template text COMMENT '内容模板',
  remark varchar(500) DEFAULT NULL,
  create_user int(11) NOT NULL,
  create_time datetime NOT NULL,
  update_user int(11) NOT NULL,
  update_time datetime NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='邮件模版表';

CREATE TABLE if not exists sys_office
(
	id int(11) unsigned not null AUTO_INCREMENT,
	p_id int(11) NOT NULL COMMENT '父级编号',
	p_ids varchar(2000) NOT NULL COMMENT '所有父级编号',
	name varchar(100) NOT NULL COMMENT '名称',
	sort decimal(10,0) NOT NULL COMMENT '排序',
	area_id int(11) NOT NULL COMMENT '归属区域',
	area_code varchar(100) COMMENT '区域编码',
	office_type char(1) NOT NULL COMMENT '机构类型',
	grade char(1) NOT NULL COMMENT '机构等级',
	address varchar(255) COMMENT '联系地址',
	zip_code varchar(100) COMMENT '邮政编码',
	master varchar(100) COMMENT '负责人',
	phone varchar(200) COMMENT '电话',
	fax varchar(200) COMMENT '传真',
	email varchar(200) COMMENT '邮箱',
	useable varchar(64) COMMENT '是否启用',
	primary_person varchar(64) COMMENT '主负责人',
	deputy_person varchar(64) COMMENT '副负责人',
	create_user int(11) NOT NULL COMMENT '创建者',
	create_date datetime NOT NULL COMMENT '创建时间',
	update_user int(11) NOT NULL COMMENT '更新者',
	update_date datetime NOT NULL COMMENT '更新时间',
	remarks varchar(255) COMMENT '备注信息',
	del_flag tinyint(1) DEFAULT '0' NOT NULL COMMENT '删除标记',
	PRIMARY KEY (id)
) COMMENT = '机构表';


CREATE TABLE if not exists sys_role_office
(
    id int(11) unsigned not null AUTO_INCREMENT,
	role_id varchar(64) NOT NULL COMMENT '角色编号',
	office_id varchar(64) NOT NULL COMMENT '机构编号',
	PRIMARY KEY (role_id, office_id)
) COMMENT = '角色与机构关联表';

create table if not exists `sys_label` (
  `id` int(11) unsigned not null auto_increment,
  `label_name` varchar(255)  default null comment '标签名',
  `num` int(11) default null comment '序号',
  `remark` varchar(200)  default null comment '备注',
  `del_flag` int(4) not null default '0' comment '删除标记,0:存在,1:删除',
  `create_time` datetime comment '创建时间',
  `create_user` int(11) default null comment '创建人',
  `update_time` datetime comment '修改时间',
  `update_user` int(11) default null comment '修改人',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='标签(用户组)表';

create table if not exists `sys_role_label` (
  `id` int(11) unsigned not null auto_increment,
  `role_id` int(11) unsigned not null,
  `label_id` int(11) unsigned not null,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='角色与标签关联表';

create table if not exists `sys_user_label` (
  `id` int(11) unsigned not null auto_increment,
  `user_id` int(11) unsigned not null,
  `label_id` int(11) unsigned not null,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户与标签关联表';

CREATE TABLE if not exists `sys_oss` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `url` varchar(200) COMMENT 'URL地址',
  `create_time` datetime COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='云存储文件上传表';

CREATE TABLE if not exists `sys_file` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `busi_id` bigint(20) DEFAULT NULL COMMENT '关联业务表主键',
  `file_name` varchar(255) DEFAULT NULL COMMENT '文件名称',
  `file_path` varchar(1000) DEFAULT NULL COMMENT '附件所在路径',
  `busi_type` varchar(50) DEFAULT NULL COMMENT '业务类型',
  `file_suffix` varchar(20) DEFAULT NULL COMMENT '文件后缀',
  `create_by` bigint(20) DEFAULT NULL COMMENT '操作人',
  `create_time` int(11) DEFAULT NULL COMMENT '操作时间',
  `remark` varchar(100) DEFAULT NULL,
  `del_flag` int(1) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文件表';

create table sys_organ
(
  organ_id     varchar(50) not null, --主键
  organ_code   varchar(50) not null, --组织机构代码
  organ_name   varchar(200) not null, --组织机构名称
  parent_id    varchar(50), --父id
  company_id   varchar(50), --公司id
  department_id varchar(50),--部门id
  in_level     int(2),--树形结构第几级
  organ_type   varchar(50) not null, --组织机构类型 1 单位,2 部门,3 岗位
  organ_type_name varchar(60) not null, --级机构类型名称
  seq          varchar(10) not null, --排序 第一位从 00001
  is_use         int(1) not null --是否可用 Y 可用, N 不可用
)

-- 职位表
create table sys_position
(
  id         varchar(50)  not null,
  code       varchar(50),--职位code
  name       varchar(200), --职位名称
  type       varchar(2),--职位类型
  sort       varchar(10), --顺序
  is_use     varchar(2) --是否可用 Y 可用, N 不可用
)

-- 角色与组织机构关联表
create table sys_role_organ
(
  role_id        varchar(50), --角色id
  organ_id        varchar(50)  --组织机构id
)
最近更新