-- 会员开通记录列表与导出权限,可重复执行。 INSERT INTO `sa_system_menu` ( `parent_id`, `name`, `code`, `slug`, `type`, `path`, `component`, `method`, `icon`, `sort`, `link_url`, `is_iframe`, `is_keep_alive`, `is_hidden`, `is_fixed_tab`, `is_full_page`, `generate_id`, `generate_key`, `status`, `remark`, `created_by`, `updated_by`, `create_time`, `update_time`, `delete_time` ) SELECT page_menu.`id`, permissions.`name`, permissions.`code`, permissions.`slug`, 3, NULL, NULL, permissions.`method`, NULL, permissions.`sort`, NULL, 2, 2, 2, 2, 2, 0, NULL, 1, permissions.`remark`, 1, 1, NOW(), NOW(), NULL FROM `sa_system_menu` page_menu CROSS JOIN ( SELECT '查询会员开通记录' `name`, 'MemberActivationIndex' `code`, 'core:fund:memberActivation:index' `slug`, 'GET' `method`, 100 `sort`, '按当前管理员及递归下级范围查询会员开通和续费记录' `remark` UNION ALL SELECT '导出会员开通记录', 'MemberActivationExport', 'core:fund:memberActivation:export', 'POST', 90, '按当前筛选条件导出会员开通和续费记录' ) permissions WHERE page_menu.`code` = 'MemberActivationRecords' AND page_menu.`delete_time` IS NULL AND NOT EXISTS ( SELECT 1 FROM `sa_system_menu` existing_menu WHERE existing_menu.`slug` = permissions.`slug` AND existing_menu.`delete_time` IS NULL ); -- 已有会员开通记录页面权限的角色自动继承列表与导出权限。 INSERT INTO `sa_system_role_menu` (`role_id`, `menu_id`) SELECT DISTINCT source_role.`role_id`, target_menu.`id` FROM `sa_system_role_menu` source_role INNER JOIN `sa_system_menu` page_menu ON page_menu.`id` = source_role.`menu_id` AND page_menu.`code` = 'MemberActivationRecords' AND page_menu.`delete_time` IS NULL INNER JOIN `sa_system_menu` target_menu ON target_menu.`parent_id` = page_menu.`id` AND target_menu.`slug` IN ('core:fund:memberActivation:index', 'core:fund:memberActivation:export') AND target_menu.`delete_time` IS NULL LEFT JOIN `sa_system_role_menu` existing_role ON existing_role.`role_id` = source_role.`role_id` AND existing_role.`menu_id` = target_menu.`id` WHERE existing_role.`id` IS NULL;