Files
cattleTransportation/权限管理功能初始化SQL.sql
2025-10-13 17:19:47 +08:00

153 lines
7.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================
-- 权限管理功能初始化 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 '超级管理员信息';