1
zj
yesterday 5e57de9b12ee136e45ce5754c7fe2e7eb12af05a
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
61
62
63
64
65
66
67
68
69
70
71
-- 美股交割合约单 + 交割场控设置 — 挂到「股票-显示-美股」(menu_id=1864) 下
-- 若你库中美股父菜单 id 不是 1864,先查:SELECT menu_id, name FROM tz_sys_menu WHERE name LIKE '%美股%';
-- 执行后退出后台重新登录
 
-- 【可选】查看 1864 下现有子菜单
-- SELECT menu_id, parent_id, name, url, order_num FROM tz_sys_menu WHERE parent_id = 1864;
 
-- 1) 交割合约单(US)
INSERT INTO tz_sys_menu (menu_id, parent_id, name, url, perms, type, icon, order_num, app_type)
SELECT
    (SELECT IFNULL(MAX(s.menu_id), 0) + 1 FROM tz_sys_menu s),
    1864,
    '交割合约单(US)',
    'us-spots/us-pickAddr',
    '',
    1,
    'sql',
    IFNULL((SELECT MAX(c.order_num) FROM tz_sys_menu c WHERE c.parent_id = 1864), 0) + 2,
    '1'
WHERE NOT EXISTS (
    SELECT 1 FROM tz_sys_menu p WHERE p.url = 'us-spots/us-pickAddr'
);
 
-- 2) 交割场控设置(美股)
INSERT INTO tz_sys_menu (menu_id, parent_id, name, url, perms, type, icon, order_num, app_type)
SELECT
    (SELECT IFNULL(MAX(s.menu_id), 0) + 1 FROM tz_sys_menu s),
    1864,
    '交割场控设置(美股)',
    'us-spots/us-indexImg',
    '',
    1,
    'sql',
    IFNULL((SELECT MAX(c.order_num) FROM tz_sys_menu c WHERE c.parent_id = 1864), 0) + 3,
    '1'
WHERE NOT EXISTS (
    SELECT 1 FROM tz_sys_menu p WHERE p.url = 'us-spots/us-indexImg'
);
 
-- 3) 角色授权:已有 1864 权限的角色
INSERT INTO tz_sys_role_menu (role_id, menu_id)
SELECT DISTINCT rm.role_id, m.menu_id
FROM tz_sys_role_menu rm
CROSS JOIN tz_sys_menu m
WHERE rm.menu_id = 1864
  AND m.url IN ('us-spots/us-pickAddr', 'us-spots/us-indexImg')
  AND NOT EXISTS (
    SELECT 1 FROM tz_sys_role_menu x WHERE x.role_id = rm.role_id AND x.menu_id = m.menu_id
  );
 
-- 4) 角色授权:已有 1864 下任意子菜单权限的角色
INSERT INTO tz_sys_role_menu (role_id, menu_id)
SELECT DISTINCT rm.role_id, m.menu_id
FROM tz_sys_role_menu rm
INNER JOIN tz_sys_menu child ON rm.menu_id = child.menu_id AND child.parent_id = 1864
CROSS JOIN tz_sys_menu m
WHERE m.url IN ('us-spots/us-pickAddr', 'us-spots/us-indexImg')
  AND NOT EXISTS (
    SELECT 1 FROM tz_sys_role_menu x WHERE x.role_id = rm.role_id AND x.menu_id = m.menu_id
  );
 
-- 【验证】角色是否已授权(把 YOUR_ROLE_ID 换成你的角色 id)
-- SELECT rm.role_id, m.menu_id, m.name, m.url FROM tz_sys_role_menu rm
-- JOIN tz_sys_menu m ON rm.menu_id = m.menu_id
-- WHERE m.menu_id IN (1864, 1981, 1982);
 
-- 【若菜单有、角色无】给管理员角色补授权(示例 role_id=1,请按实际修改)
-- INSERT INTO tz_sys_role_menu (role_id, menu_id)
-- SELECT 1, m.menu_id FROM tz_sys_menu m
-- WHERE m.menu_id IN (1864, 1981, 1982)
-- AND NOT EXISTS (SELECT 1 FROM tz_sys_role_menu x WHERE x.role_id = 1 AND x.menu_id = m.menu_id);