| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- SET NAMES utf8mb4;
- SET
- FOREIGN_KEY_CHECKS = 0;
- -- ----------------------------
- -- Table structure for sys_product
- -- 产品表:所有权限、角色、用户归属的顶层作用域
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_product` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `code` varchar(64) NOT NULL DEFAULT '' COMMENT '产品编码(唯一标识)',
- `name` varchar(64) NOT NULL DEFAULT '' COMMENT '产品名称',
- `appKey` varchar(64) NOT NULL DEFAULT '' COMMENT '产品接入密钥',
- `appSecret` varchar(128) NOT NULL DEFAULT '' COMMENT '产品接入签名密钥',
- `remark` varchar(255) DEFAULT '' COMMENT '备注',
- `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1启用 2禁用',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_code` (`code`) USING BTREE,
- UNIQUE KEY `uk_app_key` (`appKey`) USING BTREE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- -- ----------------------------
- -- Table structure for sys_dept
- -- 部门表:树形组织架构,实现跨部门管理隔离
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_dept` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `parentId` bigint NOT NULL DEFAULT '0' COMMENT '父部门ID,0表示顶级部门',
- `name` varchar(64) NOT NULL DEFAULT '' COMMENT '部门名称',
- `path` varchar(512) NOT NULL DEFAULT '' COMMENT '层级路径,如 /1/3/7/ 用于快速判断祖先关系',
- `sort` int NOT NULL DEFAULT '0' COMMENT '排序值',
- `deptType` varchar(16) NOT NULL DEFAULT 'NORMAL' COMMENT '部门类型 NORMAL普通 DEV研发',
- `remark` varchar(255) DEFAULT '' COMMENT '备注',
- `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1启用 2禁用',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`),
- KEY `idx_parent` (`parentId`) USING BTREE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- -- ----------------------------
- -- Table structure for sys_perm
- -- 权限表
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_perm` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `productCode` varchar(64) NOT NULL DEFAULT '' COMMENT '所属产品编码',
- `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '权限名',
- `code` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '权限code',
- `remark` varchar(255) DEFAULT '' COMMENT '备注',
- `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1启用 2禁用',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_product_code` (`productCode`, `code`) USING BTREE
- ) ENGINE = InnoDB AUTO_INCREMENT = 14955 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- -- ----------------------------
- -- Table structure for sys_role
- -- 角色表
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_role` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `productCode` varchar(64) NOT NULL DEFAULT '' COMMENT '所属产品编码',
- `name` varchar(64) NOT NULL DEFAULT '' COMMENT '角色名',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '备注',
- `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1启用 2禁用',
- `permsLevel` int NOT NULL DEFAULT '0' COMMENT '权限等级,值越大权限越小,用于上下级管控',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_product_name` (`productCode`, `name`) USING BTREE
- ) ENGINE = InnoDB AUTO_INCREMENT = 12 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- -- ----------------------------
- -- Table structure for sys_role_perm
- -- 角色-权限关联表
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_role_perm` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `roleId` bigint NOT NULL COMMENT '角色ID',
- `permId` bigint NOT NULL COMMENT '权限ID',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_role_perm` (`roleId`, `permId`) USING BTREE
- ) ENGINE = InnoDB AUTO_INCREMENT = 3346 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- -- ----------------------------
- -- Table structure for sys_user
- -- 用户表
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_user` (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '登录名',
- `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '登录密码',
- `nickname` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '昵称',
- `avatar` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '头像',
- `email` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '邮箱',
- `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '手机号',
- `remark` varchar(255) DEFAULT '' COMMENT '备注',
- `deptId` bigint NOT NULL DEFAULT '0' COMMENT '所属部门ID',
- `isSuperAdmin` tinyint(1) NOT NULL DEFAULT '2' COMMENT '是否为超级管理员 1是 2否',
- `mustChangePassword` tinyint(1) NOT NULL DEFAULT '2' COMMENT '是否需要强制修改密码 1是 2否',
- `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1正常 2冻结',
- `tokenVersion` bigint NOT NULL DEFAULT 0 COMMENT 'Token版本号,修改密码/冻结时递增',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `uk_username` (`username`) USING BTREE,
- KEY `idx_dept` (`deptId`) USING BTREE
- ) ENGINE = InnoDB AUTO_INCREMENT = 10 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- -- ----------------------------
- -- Table structure for sys_product_member
- -- 产品成员表:将用户与产品关联,并标记成员类型
- -- memberType 决定自动权限行为:
- -- DEVELOPER = 开发者,自动拥有该产品所有权限
- -- ADMIN = 管理员,自动拥有该产品所有权限
- -- MEMBER = 普通成员,权限由角色和用户权限表决定
- -- 管理层级顺序:超级管理员 > ADMIN > DEVELOPER > MEMBER
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_product_member` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `productCode` varchar(64) NOT NULL DEFAULT '' COMMENT '产品编码',
- `userId` bigint NOT NULL COMMENT '用户ID',
- `memberType` enum('DEVELOPER', 'ADMIN', 'MEMBER') NOT NULL DEFAULT 'MEMBER' COMMENT '成员类型',
- `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1启用 2禁用',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_product_user` (`productCode`, `userId`) USING BTREE,
- KEY `idx_user` (`userId`) USING BTREE
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- -- ----------------------------
- -- Table structure for sys_user_perm
- -- 用户-权限关联表
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_user_perm` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `userId` bigint NOT NULL COMMENT '用户ID',
- `permId` bigint NOT NULL COMMENT '权限ID',
- `effect` enum('ALLOW', 'DENY') NOT NULL DEFAULT 'ALLOW' COMMENT '权限控制策略 ALLOW允许 DENY拒绝',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `uk_user_perm` (`userId`, `permId`) USING BTREE,
- KEY `idx_user_effect` (`userId`, `effect`)
- ) ENGINE = InnoDB AUTO_INCREMENT = 58 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- -- ----------------------------
- -- Table structure for sys_user_role
- -- 用户-角色关联表
- -- ----------------------------
- CREATE TABLE IF NOT EXISTS `sys_user_role` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `userId` bigint NOT NULL COMMENT '用户ID',
- `roleId` bigint NOT NULL COMMENT '角色ID',
- `createTime` int NOT NULL DEFAULT '0' COMMENT '创建时间',
- `updateTime` int NOT NULL DEFAULT '0' COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_user_role` (`userId`, `roleId`) USING BTREE,
- KEY `idx_role` (`roleId`) USING BTREE
- ) ENGINE = InnoDB AUTO_INCREMENT = 7 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
- SET
- FOREIGN_KEY_CHECKS = 1;
|