USE game; -- 后台权限管理增量表设计 -- 兼容现有 admin 表,不重建 admin,仅通过 admin.id 建立关联。 -- 保留 admin.group / admin.role 旧字段,便于平滑迁移;新权限体系以 RBAC 关系表为准。 CREATE TABLE IF NOT EXISTS `admin` ( `id` int NOT NULL AUTO_INCREMENT, `username` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用户名', `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '密码', `real_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '真实姓名', `nickname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '显示名称', `phone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '手机号', `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '邮箱', `token` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '令牌', `group` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '旧用户组字段,兼容历史逻辑', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1启用 0停用', `expires` int DEFAULT 0 COMMENT '过期时间', `role` int DEFAULT NULL COMMENT '旧角色字段,兼容历史逻辑', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', `lastLoginTime` int NOT NULL DEFAULT 0 COMMENT '最近登录时间', `lastLoginIp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近登录IP', `createTime` int NOT NULL DEFAULT 0 COMMENT '创建时间', `updateTime` int NOT NULL DEFAULT 0 COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `user_unique` (`username`), KEY `idx_admin_status` (`status`), KEY `idx_admin_phone` (`phone`), KEY `idx_admin_email` (`email`) ) ENGINE = InnoDB AUTO_INCREMENT = 16 DEFAULT CHARSET = utf8mb4; -- 对已有 admin 表做增量补齐,避免与现网库冲突。 ALTER TABLE `admin` ADD COLUMN IF NOT EXISTS `real_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '真实姓名' AFTER `password`, ADD COLUMN IF NOT EXISTS `nickname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '显示名称' AFTER `real_name`, ADD COLUMN IF NOT EXISTS `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注' AFTER `role`, ADD COLUMN IF NOT EXISTS `lastLoginTime` int NOT NULL DEFAULT 0 COMMENT '最近登录时间' AFTER `remark`, ADD COLUMN IF NOT EXISTS `lastLoginIp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近登录IP' AFTER `lastLoginTime`; CREATE TABLE IF NOT EXISTS `admin_user_group` ( `id` int NOT NULL AUTO_INCREMENT, `group_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户组编码,例如 G_OP', `group_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户组名称', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1启用 0停用', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', `create_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', `update_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '更新人', `createTime` int NOT NULL DEFAULT 0 COMMENT '创建时间,秒级时间戳', `updateTime` int NOT NULL DEFAULT 0 COMMENT '更新时间,秒级时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_admin_user_group_code` (`group_code`), KEY `idx_admin_user_group_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='后台用户组表'; CREATE TABLE IF NOT EXISTS `admin_role` ( `id` int NOT NULL AUTO_INCREMENT, `role_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色编码,例如 R_SUPER', `role_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名称', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1启用 0停用', `is_system` tinyint NOT NULL DEFAULT 0 COMMENT '是否系统内置:1是 0否', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', `create_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', `update_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '更新人', `createTime` int NOT NULL DEFAULT 0 COMMENT '创建时间,秒级时间戳', `updateTime` int NOT NULL DEFAULT 0 COMMENT '更新时间,秒级时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_admin_role_code` (`role_code`), KEY `idx_admin_role_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='后台角色表'; CREATE TABLE IF NOT EXISTS `admin_permission` ( `id` int NOT NULL AUTO_INCREMENT, `permission_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单点权限编码,例如 AC0004', `permission_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限名称', `permission_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '权限分组,例如 activity/config/user', `api_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '接口路径,例如 /api/activity/edit', `http_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '请求方法,例如 GET/POST/PUT/DELETE', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1启用 0停用', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', `create_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', `update_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '更新人', `createTime` int NOT NULL DEFAULT 0 COMMENT '创建时间,秒级时间戳', `updateTime` int NOT NULL DEFAULT 0 COMMENT '更新时间,秒级时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_admin_permission_code` (`permission_code`), KEY `idx_admin_permission_group` (`permission_group`), KEY `idx_admin_permission_path_method` (`api_path`, `http_method`), KEY `idx_admin_permission_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='后台单点权限表'; CREATE TABLE IF NOT EXISTS `admin_user_group_rel` ( `id` int NOT NULL AUTO_INCREMENT, `admin_id` int NOT NULL COMMENT 'admin.id', `group_id` int NOT NULL COMMENT 'admin_user_group.id', `create_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', `createTime` int NOT NULL DEFAULT 0 COMMENT '创建时间,秒级时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_admin_user_group_rel` (`admin_id`, `group_id`), KEY `idx_admin_user_group_rel_group_id` (`group_id`), CONSTRAINT `fk_admin_user_group_rel_admin_id` FOREIGN KEY (`admin_id`) REFERENCES `admin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_admin_user_group_rel_group_id` FOREIGN KEY (`group_id`) REFERENCES `admin_user_group` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员与用户组关联表'; CREATE TABLE IF NOT EXISTS `admin_group_role_rel` ( `id` int NOT NULL AUTO_INCREMENT, `group_id` int NOT NULL COMMENT 'admin_user_group.id', `role_id` int NOT NULL COMMENT 'admin_role.id', `create_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', `createTime` int NOT NULL DEFAULT 0 COMMENT '创建时间,秒级时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_admin_group_role_rel` (`group_id`, `role_id`), KEY `idx_admin_group_role_rel_role_id` (`role_id`), CONSTRAINT `fk_admin_group_role_rel_group_id` FOREIGN KEY (`group_id`) REFERENCES `admin_user_group` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_admin_group_role_rel_role_id` FOREIGN KEY (`role_id`) REFERENCES `admin_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户组与角色关联表'; CREATE TABLE IF NOT EXISTS `admin_role_permission_rel` ( `id` int NOT NULL AUTO_INCREMENT, `role_id` int NOT NULL COMMENT 'admin_role.id', `permission_id` int NOT NULL COMMENT 'admin_permission.id', `create_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', `createTime` int NOT NULL DEFAULT 0 COMMENT '创建时间,秒级时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_admin_role_permission_rel` (`role_id`, `permission_id`), KEY `idx_admin_role_permission_rel_permission_id` (`permission_id`), CONSTRAINT `fk_admin_role_permission_rel_role_id` FOREIGN KEY (`role_id`) REFERENCES `admin_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_admin_role_permission_rel_permission_id` FOREIGN KEY (`permission_id`) REFERENCES `admin_permission` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色与单点权限关联表'; CREATE TABLE IF NOT EXISTS `admin_user_permission_rel` ( `id` int NOT NULL AUTO_INCREMENT, `admin_id` int NOT NULL COMMENT 'admin.id', `permission_id` int NOT NULL COMMENT 'admin_permission.id', `grant_type` tinyint NOT NULL DEFAULT 1 COMMENT '授权类型:1允许 2拒绝,支持单点覆盖角色权限', `create_admin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', `createTime` int NOT NULL DEFAULT 0 COMMENT '创建时间,秒级时间戳', PRIMARY KEY (`id`), UNIQUE KEY `uk_admin_user_permission_rel` (`admin_id`, `permission_id`), KEY `idx_admin_user_permission_rel_permission_id` (`permission_id`), KEY `idx_admin_user_permission_rel_grant_type` (`grant_type`), CONSTRAINT `fk_admin_user_permission_rel_admin_id` FOREIGN KEY (`admin_id`) REFERENCES `admin` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_admin_user_permission_rel_permission_id` FOREIGN KEY (`permission_id`) REFERENCES `admin_permission` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员单点权限关联表'; -- 初始化示例数据 INSERT INTO `admin_user_group` (`group_code`, `group_name`, `status`, `remark`, `create_admin`, `update_admin`, `createTime`, `updateTime`) VALUES ('G_SUPER', '超级管理员组', 1, '系统初始化用户组', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('G_OP', '运营组', 1, '运营后台使用', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('G_CS', '客服组', 1, '客服后台使用', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()) ON DUPLICATE KEY UPDATE `group_name` = VALUES(`group_name`), `status` = VALUES(`status`), `remark` = VALUES(`remark`), `update_admin` = VALUES(`update_admin`), `updateTime` = VALUES(`updateTime`); INSERT INTO `admin_role` (`role_code`, `role_name`, `status`, `is_system`, `remark`, `create_admin`, `update_admin`, `createTime`, `updateTime`) VALUES ('R_SUPER', '超级管理员', 1, 1, '默认拥有全量权限', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('R_ACTIVITY', '活动管理员', 1, 1, '管理活动与配置', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('R_NOTIFICATION', '通知管理员', 1, 1, '管理客户端通知配置', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()) ON DUPLICATE KEY UPDATE `role_name` = VALUES(`role_name`), `status` = VALUES(`status`), `remark` = VALUES(`remark`), `update_admin` = VALUES(`update_admin`), `updateTime` = VALUES(`updateTime`); INSERT INTO `admin_permission` (`permission_code`, `permission_name`, `permission_group`, `api_path`, `http_method`, `status`, `remark`, `create_admin`, `update_admin`, `createTime`, `updateTime`) VALUES -- ── 管理员管理 ────────────────────────────────────────────── ('AC1001', '管理员列表', 'admin', '/api/admin/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1002', '管理员新增', 'admin', '/api/admin/add', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1003', '管理员操作日志', 'admin', '/api/admin/log/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1004', '管理员配置列表', 'admin', '/api/admin/config/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1005', '管理员配置新增', 'admin', '/api/admin/config/add', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1006', '管理员配置编辑', 'admin', '/api/admin/config/edit', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 权限管理 ──────────────────────────────────────────────── ('AC1101', '用户组列表', 'permission', '/api/admin/usergroup/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1102', '用户组新增', 'permission', '/api/admin/usergroup/add', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1103', '用户组编辑', 'permission', '/api/admin/usergroup/edit', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1104', '用户组删除', 'permission', '/api/admin/usergroup/delete', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1105', '用户组绑定角色', 'permission', '/api/admin/usergroup/role/set', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1106', '用户组角色查询', 'permission', '/api/admin/usergroup/role/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1107', '角色列表', 'permission', '/api/admin/role/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1108', '角色新增', 'permission', '/api/admin/role/add', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1109', '角色编辑', 'permission', '/api/admin/role/edit', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1110', '角色删除', 'permission', '/api/admin/role/delete', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1111', '角色绑定权限', 'permission', '/api/admin/role/permission/set', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1112', '角色权限查询', 'permission', '/api/admin/role/permission/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1113', '单点权限列表', 'permission', '/api/admin/permission/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1114', '单点权限新增', 'permission', '/api/admin/permission/add', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1115', '单点权限编辑', 'permission', '/api/admin/permission/edit', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1116', '单点权限删除', 'permission', '/api/admin/permission/delete', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1117', '用户组分配查询', 'permission', '/api/admin/user/group/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1118', '用户组分配设置', 'permission', '/api/admin/user/group/set', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1119', '用户单点权限查询', 'permission', '/api/admin/user/permission/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1120', '用户单点权限设置', 'permission', '/api/admin/user/permission/set', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC1121', '用户角色查询', 'permission', '/api/admin/user/role/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 玩家日志 ──────────────────────────────────────────────── ('AC2001', '玩家日志查询', 'log', '/api/log/user', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC2002', '资产日志查询', 'log', '/api/log/asset', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC2003', '事件日志查询', 'log', '/api/log/event', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC2004', '月登录次数统计', 'log', '/api/log/loginCountByMonth', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC2005', '订单日志查询', 'log', '/api/log/order', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC2006', '提交补单审核', 'log', '/api/log/order/reissue/apply', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC2007', '通过补单审核', 'log', '/api/log/order/reissue/approve', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC2008', '驳回补单审核', 'log', '/api/log/order/reissue/reject', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 玩家数据 ──────────────────────────────────────────────── ('AC3001', '玩家列表', 'user', '/api/user/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC3002', '当前用户信息', 'user', '/api/user/info', 'GET', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC3003', 'GM操作', 'user', '/api/user/gm', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC3004', '封禁玩家', 'user', '/api/user/ban', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 服务器管理 ────────────────────────────────────────────── ('AC4001', '应用列表', 'server', '/api/server/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4002', '服务器列表', 'server', '/api/server/serverList', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4003', '新增服务器', 'server', '/api/server/addServer', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4004', '节点列表', 'server', '/api/server/nodeList', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4005', '新增节点', 'server', '/api/server/addNode', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4006', '编辑服务器', 'server', '/api/server/editServer', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4007', '更新应用', 'server', '/api/server/updateApp', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4008', '更新应用(审核)', 'server', '/api/server/updateAppReview', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4009', '更新应用(飞书)', 'server', '/api/server/updateAppFeishu', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4010', '重启服务器', 'server', '/api/server/restart', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC4011', '重载服务器', 'server', '/api/server/reload', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 统计 ──────────────────────────────────────────────────── ('AC5001', '等级统计', 'statistics', '/api/statistics/level', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC5002', '订单统计', 'statistics', '/api/statistics/order', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC5003', '基础统计信息', 'statistics', '/api/statistics/info', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC5004', '热力图统计', 'statistics', '/api/statistics/heat', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 活动管理 ──────────────────────────────────────────────── ('AC6001', '活动列表', 'activity', '/api/activity/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC6002', '活动编辑', 'activity', '/api/activity/edit', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC6003', '活动新增', 'activity', '/api/activity/add', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC6004', '活动删除', 'activity', '/api/activity/delete', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC6005', '活动同步', 'activity', '/api/activity/sync', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 邮件 ──────────────────────────────────────────────────── ('AC7001', '发送邮件', 'mail', '/api/mail/send', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC7002', '邮件列表', 'mail', '/api/mail/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC7003', '删除邮件', 'mail', '/api/mail/delete', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC7004', '审核通过邮件', 'mail', '/api/mail/approve', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC7005', '驳回邮件审核', 'mail', '/api/mail/reject', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 运营功能 ──────────────────────────────────────────────── ('AC8001', '复制用户数据', 'operation', '/api/operation/copyUser', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 翻译管理 ──────────────────────────────────────────────── ('AC9001', '语言列表', 'language', '/api/language/list', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9002', '语言导出', 'language', '/api/language/export', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9003', '语言保存', 'language', '/api/language/save', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9004', '语言新增', 'language', '/api/language/add', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9005', '语言删除', 'language', '/api/language/delete', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 通知配置 ──────────────────────────────────────────────── ('AC9101', '通知配置查询', 'notification', '/api/config/notification', 'GET', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9102', '通知配置更新', 'notification', '/api/config/notification/update', 'PUT', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── AB 实验 ───────────────────────────────────────────────── ('AC9201', '实验列表', 'experiment', '/api/v1/experiments', 'GET', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9202', '实验新增', 'experiment', '/api/v1/experiments', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9203', '实验更新', 'experiment', '/api/v1/experiments/:id', 'PUT', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9204', '实验删除', 'experiment', '/api/v1/experiments/:id', 'DELETE', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9205', '实验变体列表', 'experiment', '/api/v1/experiments/:id/variants', 'GET', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9206', '实验变体新增', 'experiment', '/api/v1/experiments/:id/variants', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9207', '实验变体更新', 'experiment', '/api/v1/experiments/:id/variants/:variantId', 'PUT', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9208', '实验变体删除', 'experiment', '/api/v1/experiments/:id/variants/:variantId', 'DELETE', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9209', '实验白名单列表', 'experiment', '/api/v1/experiments/:id/whitelist', 'GET', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9210', '实验白名单新增', 'experiment', '/api/v1/experiments/:id/whitelist', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9211', '实验白名单批量新增', 'experiment', '/api/v1/experiments/:id/whitelist/batch', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9212', '实验白名单删除', 'experiment', '/api/v1/experiments/:id/whitelist/:userId', 'DELETE', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9213', '实验结果查询', 'experiment', '/api/v1/experiments/:id/results', 'GET', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9214', '用户实验分组查询', 'experiment', '/api/v1/users/:userId/groups', 'GET', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), -- ── 自动化脚本 ────────────────────────────────────────────── ('AC9301', '下载文案文件', 'scripts', '/api/scripts/copywriting', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9302', '复制线上环境到QA', 'scripts', '/api/scripts/copyonline', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), ('AC9303', '复制线下环境到QA', 'scripts', '/api/scripts/clientImageGitPull', 'POST', 1, '', 'system', 'system', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()) ON DUPLICATE KEY UPDATE `permission_name` = VALUES(`permission_name`), `permission_group` = VALUES(`permission_group`), `api_path` = VALUES(`api_path`), `http_method` = VALUES(`http_method`), `status` = VALUES(`status`), `remark` = VALUES(`remark`), `update_admin` = VALUES(`update_admin`), `updateTime` = VALUES(`updateTime`); -- 初始化关联关系示例 INSERT INTO `admin_group_role_rel` (`group_id`, `role_id`, `create_admin`, `createTime`) SELECT g.id, r.id, 'system', UNIX_TIMESTAMP() FROM `admin_user_group` g JOIN `admin_role` r WHERE (g.group_code = 'G_SUPER' AND r.role_code = 'R_SUPER') OR (g.group_code = 'G_OP' AND r.role_code = 'R_ACTIVITY') OR (g.group_code = 'G_OP' AND r.role_code = 'R_NOTIFICATION') ON DUPLICATE KEY UPDATE `create_admin` = VALUES(`create_admin`); INSERT INTO `admin_role_permission_rel` (`role_id`, `permission_id`, `create_admin`, `createTime`) SELECT r.id, p.id, 'system', UNIX_TIMESTAMP() FROM `admin_role` r JOIN `admin_permission` p WHERE (r.role_code = 'R_SUPER') OR (r.role_code = 'R_ACTIVITY' AND p.permission_code IN ('AC6001','AC6002','AC6003','AC6004','AC6005')) OR (r.role_code = 'R_NOTIFICATION' AND p.permission_code IN ('AC9101','AC9102')) ON DUPLICATE KEY UPDATE `create_admin` = VALUES(`create_admin`); -- 可选:把现有管理员挂到默认用户组,请按实际用户名替换。 -- INSERT INTO `admin_user_group_rel` (`admin_id`, `group_id`, `create_admin`, `createTime`) -- SELECT a.id, g.id, 'system', UNIX_TIMESTAMP() -- FROM `admin` a -- JOIN `admin_user_group` g ON g.group_code = 'G_SUPER' -- WHERE a.username IN ('admin');