-- ============================================ -- 权限管理功能初始化 SQL -- 功能:添加权限管理菜单、设置超级管理员 -- 日期:2025-10-11 -- ============================================ -- ============================================ -- 1. 添加权限管理父菜单 -- ============================================ INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `route_url`, `page_url`, `authority`, `icon`, `sort`, `is_delete`, `create_time`) VALUES (0, 1, '权限管理', '/permission', null, 'permission:view', 'el-icon-lock', 20, 0, NOW()); -- 获取刚插入的权限管理父菜单ID(假设为 @permission_parent_id) SET @permission_parent_id = LAST_INSERT_ID(); -- ============================================ -- 2. 添加子菜单:菜单权限管理 -- ============================================ INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `route_url`, `page_url`, `authority`, `icon`, `sort`, `is_delete`, `create_time`) VALUES (@permission_parent_id, 1, '菜单权限管理', '/permission/menu', 'permission/menuPermission', 'permission:menu:view', 'el-icon-menu', 1, 0, NOW()); SET @menu_permission_id = LAST_INSERT_ID(); -- 菜单权限管理的按钮权限 INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) VALUES (@menu_permission_id, 2, '菜单查询', 'permission:menu:list', 1, 0, NOW()), (@menu_permission_id, 2, '菜单新增', 'permission:menu:add', 2, 0, NOW()), (@menu_permission_id, 2, '菜单编辑', 'permission:menu:edit', 3, 0, NOW()), (@menu_permission_id, 2, '菜单删除', 'permission:menu:delete', 4, 0, NOW()), (@menu_permission_id, 2, '角色分配', 'permission:menu:assign', 5, 0, NOW()); -- ============================================ -- 3. 添加子菜单:操作权限管理 -- ============================================ INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `route_url`, `page_url`, `authority`, `icon`, `sort`, `is_delete`, `create_time`) VALUES (@permission_parent_id, 1, '操作权限管理', '/permission/operation', 'permission/operationPermission', 'permission:operation:view', 'el-icon-setting', 2, 0, NOW()); SET @operation_permission_id = LAST_INSERT_ID(); -- 操作权限管理的按钮权限 INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) VALUES (@operation_permission_id, 2, '权限查询', 'permission:operation:list', 1, 0, NOW()), (@operation_permission_id, 2, '权限分配', 'permission:operation:assign', 2, 0, NOW()), (@operation_permission_id, 2, '角色管理', 'permission:operation:role', 3, 0, NOW()); -- ============================================ -- 4. 查找或创建超级管理员角色 -- ============================================ -- 查看是否已有ID=1的角色,如果没有则插入 INSERT INTO `sys_role` (`id`, `name`, `description`, `is_delete`, `create_time`) SELECT 1, '超级管理员', '拥有系统所有权限', 0, NOW() WHERE NOT EXISTS (SELECT 1 FROM `sys_role` WHERE `id` = 1); -- ============================================ -- 5. 为超级管理员角色分配所有菜单权限 -- ============================================ -- 清空超级管理员的旧权限(可选) DELETE FROM `sys_role_menu` WHERE `role_id` = 1; -- 分配所有菜单权限给超级管理员 INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) SELECT 1, id FROM `sys_menu` WHERE `is_delete` = 0; -- ============================================ -- 6. 设置15900000000账号为超级管理员 -- ============================================ -- 查找该手机号的用户 UPDATE `sys_user` SET `role_id` = 1 WHERE `mobile` = '15900000000' AND `is_delete` = 0; -- 如果用户不存在,创建超级管理员账号(密码默认为 123456,已MD5加密) -- 注意:请根据实际的密码加密方式调整密码值 INSERT INTO `sys_user` (`mobile`, `name`, `password`, `role_id`, `status`, `user_type`, `is_delete`, `create_time`) SELECT '15900000000', '超级管理员', 'e10adc3949ba59abbe56e057f20f883e', -- 123456 的MD5值 1, 1, 1, 0, NOW() WHERE NOT EXISTS ( SELECT 1 FROM `sys_user` WHERE `mobile` = '15900000000' ); -- ============================================ -- 7. 为运送清单添加完整的权限点(如果还没有) -- ============================================ -- 查找运送清单菜单 SET @delivery_menu_id = (SELECT id FROM `sys_menu` WHERE `route_url` LIKE '%delivery%' OR `route_url` LIKE '%loading%' LIMIT 1); -- 如果找到了运送清单菜单,添加权限点 INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) SELECT @delivery_menu_id, 2, '运送清单查看', 'delivery:list', 1, 0, NOW() WHERE @delivery_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `authority` = 'delivery:list'); INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) SELECT @delivery_menu_id, 2, '运送清单新增', 'delivery:add', 2, 0, NOW() WHERE @delivery_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `authority` = 'delivery:add'); INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) SELECT @delivery_menu_id, 2, '运送清单编辑', 'delivery:edit', 3, 0, NOW() WHERE @delivery_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `authority` = 'delivery:edit'); INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) SELECT @delivery_menu_id, 2, '运送清单删除', 'delivery:delete', 4, 0, NOW() WHERE @delivery_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `authority` = 'delivery:delete'); INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) SELECT @delivery_menu_id, 2, '运送清单查看详情', 'delivery:view', 5, 0, NOW() WHERE @delivery_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `authority` = 'delivery:view'); INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) SELECT @delivery_menu_id, 2, '运送清单核验', 'delivery:check', 6, 0, NOW() WHERE @delivery_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `authority` = 'delivery:check'); INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) SELECT @delivery_menu_id, 2, '设备分配', 'delivery:assign', 7, 0, NOW() WHERE @delivery_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `authority` = 'delivery:assign'); INSERT INTO `sys_menu` (`parent_id`, `type`, `name`, `authority`, `sort`, `is_delete`, `create_time`) SELECT @delivery_menu_id, 2, '装车操作', 'delivery:load', 8, 0, NOW() WHERE @delivery_menu_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `authority` = 'delivery:load'); -- ============================================ -- 8. 验证数据 -- ============================================ -- 查看新增的权限管理菜单 SELECT * FROM `sys_menu` WHERE `name` LIKE '%权限%' OR `name` LIKE '%permission%'; -- 查看超级管理员用户 SELECT `id`, `mobile`, `name`, `role_id`, `status` FROM `sys_user` WHERE `mobile` = '15900000000'; -- 查看超级管理员的权限数量 SELECT COUNT(*) as '超级管理员权限数' FROM `sys_role_menu` WHERE `role_id` = 1; -- ============================================ -- 执行完成 -- ============================================ SELECT '✅ 权限管理功能初始化完成!' as 'Status'; SELECT '账号: 15900000000, 密码: 123456 (如果是新创建的账号)' as '超级管理员信息';