-- 支付订单:特殊退款处理菜单及执行按钮权限 SET @payment_order_id := ( SELECT menu_id FROM sys_menu WHERE menu_name = '支付订单' AND (perms = '/paymentOrder' OR path = '/order/payMentOrder' OR path = 'payMentOrder') ORDER BY menu_id ASC LIMIT 1 ); INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '特殊退款处理', @payment_order_id, 3, '/order/payMentOrder/specialRefund', 'order/payMentOrder/specialRefund', 1, 0, 'C', '0', 0, '/paymentOrder/specialRefund', '#', 'admin', NOW(), '支付订单特殊退款处理' WHERE @payment_order_id IS NOT NULL AND NOT EXISTS ( SELECT 1 FROM sys_menu WHERE parent_id = @payment_order_id AND (perms = '/paymentOrder/specialRefund' OR path = '/order/payMentOrder/specialRefund') ); SET @special_refund_id := ( SELECT menu_id FROM sys_menu WHERE parent_id = @payment_order_id AND (perms = '/paymentOrder/specialRefund' OR path = '/order/payMentOrder/specialRefund') ORDER BY menu_id ASC LIMIT 1 ); UPDATE sys_menu SET menu_name = '特殊退款处理', parent_id = @payment_order_id, order_num = 3, path = '/order/payMentOrder/specialRefund', component = 'order/payMentOrder/specialRefund', menu_type = 'C', visible = '0', status = 0, perms = '/paymentOrder/specialRefund', update_time = NOW() WHERE @special_refund_id IS NOT NULL AND menu_id = @special_refund_id; INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT '发起特殊退款', @special_refund_id, 1, '', NULL, 1, 0, 'F', '0', 0, '/paymentOrder/specialRefund/refund', '#', 'admin', NOW(), '发起特殊退款按钮权限' WHERE @special_refund_id IS NOT NULL AND NOT EXISTS ( SELECT 1 FROM sys_menu WHERE parent_id = @special_refund_id AND perms = '/paymentOrder/specialRefund/refund' ); -- 管理员角色补上新权限;其他角色请在角色管理中按需勾选。 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) SELECT 1, menu_id FROM sys_menu WHERE menu_id IN (@special_refund_id) OR parent_id = @special_refund_id;