-- ---------------------------- -- 客户管理 / 供应商管理 菜单按钮权限补全 + 普通角色(role_id=2)初始授权 -- 幂等:可重复执行;已有记录不会重复插入 -- 菜单结构: -- 2309 客户/供应商管理(M) -- 2313 客户管理(C) perms -> customersupplier:customerinfo:list -- 2422 客户余额管理(C,隐藏,静态路由页面,仅作收款审核按钮挂载点) -- 2423 收款审核(F) customer:balance:review -- [新增] 客户查询/新增/修改/删除/导出 5个F按钮 -- 2314 供应商管理(C) perms -> customersupplier:supplierinfo:list -- [新增] 供应商查询/新增/修改/删除/导出 5个F按钮 -- ---------------------------- -- 1. 两个业务菜单补 list 权限标识(后端列表接口 @PreAuthorize 要求) UPDATE `sys_menu` SET `perms` = 'customersupplier:customerinfo:list' WHERE `menu_id` = 2313 AND (`perms` IS NULL OR `perms` = ''); UPDATE `sys_menu` SET `perms` = 'customersupplier:supplierinfo:list' WHERE `menu_id` = 2314 AND (`perms` IS NULL OR `perms` = ''); -- 2. 客户余额管理为静态路由页面(/customersupplier/customer-money),侧边栏不应显示,避免死链 UPDATE `sys_menu` SET `visible` = '1' WHERE `menu_id` = 2422 AND `visible` = '0'; -- 3. 补全客户管理 5 个按钮(F),按 perms 幂等 INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '客户查询', 2313, 1, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:query', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:query' AND `parent_id` = 2313); INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '客户新增', 2313, 2, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:add', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:add' AND `parent_id` = 2313); INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '客户修改', 2313, 3, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:edit', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:edit' AND `parent_id` = 2313); INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '客户删除', 2313, 4, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:remove', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:remove' AND `parent_id` = 2313); INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '客户导出', 2313, 5, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:export', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:export' AND `parent_id` = 2313); -- 4. 补全供应商管理 5 个按钮(F),按 perms 幂等 INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '供应商查询', 2314, 1, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:query', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:query' AND `parent_id` = 2314); INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '供应商新增', 2314, 2, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:add', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:add' AND `parent_id` = 2314); INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '供应商修改', 2314, 3, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:edit', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:edit' AND `parent_id` = 2314); INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '供应商删除', 2314, 4, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:remove', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:remove' AND `parent_id` = 2314); INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) SELECT '供应商导出', 2314, 5, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:export', '#', 'admin', NOW(), '' WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:export' AND `parent_id` = 2314); -- 5. 普通角色(role_id=2) 授权:目录 + 2个菜单 + 余额隐藏菜单 + 收款审核 + 10个新按钮(幂等) INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) SELECT 2, m.`menu_id` FROM `sys_menu` m WHERE ( m.`menu_id` IN (2309, 2313, 2314, 2422, 2423) OR m.`perms` IN ( 'customersupplier:customerinfo:query', 'customersupplier:customerinfo:add', 'customersupplier:customerinfo:edit', 'customersupplier:customerinfo:remove', 'customersupplier:customerinfo:export', 'customersupplier:supplierinfo:query', 'customersupplier:supplierinfo:add', 'customersupplier:supplierinfo:edit', 'customersupplier:supplierinfo:remove', 'customersupplier:supplierinfo:export' ) ) AND NOT EXISTS ( SELECT 1 FROM `sys_role_menu` rm WHERE rm.`role_id` = 2 AND rm.`menu_id` = m.`menu_id` );