112 lines
3.5 KiB
SQL
112 lines
3.5 KiB
SQL
SET NAMES utf8mb4;
|
|
|
|
SET @team_parent_menu_id := (
|
|
SELECT `id` FROM `sys_menu` WHERE `alias` = 'TeamManager' LIMIT 1
|
|
);
|
|
|
|
INSERT INTO `sys_menu` (
|
|
`id`, `parent_id`, `menu_name`, `path`, `menu_type`, `icon`, `create_user`, `update_user`,
|
|
`sort`, `status`, `router`, `alias`
|
|
)
|
|
SELECT
|
|
1700000500, @team_parent_menu_id, '经理列表', 'team/manager/index', 2, 'form',
|
|
'0', '0', 245, 0, 'team/manager', 'TeamManagerList'
|
|
WHERE @team_parent_menu_id IS NOT NULL
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM `sys_menu` WHERE `alias` = 'TeamManagerList'
|
|
);
|
|
|
|
UPDATE `sys_menu`
|
|
SET
|
|
`parent_id` = @team_parent_menu_id,
|
|
`menu_name` = '经理列表',
|
|
`path` = 'team/manager/index',
|
|
`menu_type` = 2,
|
|
`icon` = 'form',
|
|
`create_user` = '0',
|
|
`update_user` = '0',
|
|
`sort` = 245,
|
|
`status` = 0,
|
|
`router` = 'team/manager'
|
|
WHERE `alias` = 'TeamManagerList'
|
|
AND @team_parent_menu_id IS NOT NULL;
|
|
|
|
INSERT INTO `sys_menu` (
|
|
`id`, `parent_id`, `menu_name`, `path`, `menu_type`, `icon`, `create_user`, `update_user`,
|
|
`sort`, `status`, `router`, `alias`
|
|
)
|
|
SELECT *
|
|
FROM (
|
|
SELECT 1700000501 AS `id`, 0 AS `parent_id`, 'team:manager:list:query:all' AS `menu_name`,
|
|
NULL AS `path`, 3 AS `menu_type`, NULL AS `icon`, '0' AS `create_user`, '0' AS `update_user`,
|
|
39 AS `sort`, 0 AS `status`, NULL AS `router`, 'team:manager:list:query:all' AS `alias`
|
|
UNION ALL
|
|
SELECT 1700000502, 0, 'team:manager:list:add', NULL, 3, NULL, '0', '0', 38, 0, NULL, 'team:manager:list:add'
|
|
UNION ALL
|
|
SELECT 1700000503, 0, 'team:manager:list:edit', NULL, 3, NULL, '0', '0', 37, 0, NULL, 'team:manager:list:edit'
|
|
UNION ALL
|
|
SELECT 1700000504, 0, 'team:manager:list:del', NULL, 3, NULL, '0', '0', 36, 0, NULL, 'team:manager:list:del'
|
|
) seed
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM `sys_menu` existing WHERE existing.`alias` = seed.`alias`
|
|
);
|
|
|
|
UPDATE `sys_menu`
|
|
SET
|
|
`parent_id` = 0,
|
|
`path` = NULL,
|
|
`menu_type` = 3,
|
|
`icon` = NULL,
|
|
`create_user` = '0',
|
|
`update_user` = '0',
|
|
`status` = 0,
|
|
`router` = NULL,
|
|
`menu_name` = `alias`,
|
|
`sort` = CASE `alias`
|
|
WHEN 'team:manager:list:query:all' THEN 39
|
|
WHEN 'team:manager:list:add' THEN 38
|
|
WHEN 'team:manager:list:edit' THEN 37
|
|
WHEN 'team:manager:list:del' THEN 36
|
|
ELSE `sort`
|
|
END
|
|
WHERE `alias` IN (
|
|
'team:manager:list:query:all',
|
|
'team:manager:list:add',
|
|
'team:manager:list:edit',
|
|
'team:manager:list:del'
|
|
);
|
|
|
|
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
|
|
SELECT DISTINCT source.`role_id`, target_menu.`id`
|
|
FROM `sys_role_menu` source
|
|
JOIN `sys_menu` source_menu ON source_menu.`id` = source.`menu_id`
|
|
JOIN `sys_menu` target_menu ON target_menu.`alias` = 'TeamManagerList'
|
|
WHERE source_menu.`alias` = 'TeamMember'
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM `sys_role_menu` target
|
|
WHERE target.`role_id` = source.`role_id`
|
|
AND target.`menu_id` = target_menu.`id`
|
|
);
|
|
|
|
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
|
|
SELECT DISTINCT source.`role_id`, target_menu.`id`
|
|
FROM `sys_role_menu` source
|
|
JOIN `sys_menu` source_menu ON source_menu.`id` = source.`menu_id`
|
|
JOIN `sys_menu` target_menu ON target_menu.`alias` = CASE source_menu.`alias`
|
|
WHEN 'team:list:query:all' THEN 'team:manager:list:query:all'
|
|
WHEN 'team:list:add' THEN 'team:manager:list:add'
|
|
WHEN 'team:list:edit' THEN 'team:manager:list:edit'
|
|
WHEN 'team:list:del' THEN 'team:manager:list:del'
|
|
END
|
|
WHERE source_menu.`alias` IN (
|
|
'team:list:query:all',
|
|
'team:list:add',
|
|
'team:list:edit',
|
|
'team:list:del'
|
|
)
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM `sys_role_menu` target
|
|
WHERE target.`role_id` = source.`role_id`
|
|
AND target.`menu_id` = target_menu.`id`
|
|
);
|