longz
2026-08-05 eac80fa4c1bd3af514d91fddee2bd2ac4f609acd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
-- 支付订单:特殊退款处理菜单及执行按钮权限
 
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;