1
zj
2 days ago 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
-- 盘前配置菜单 — 挂到「股票-显示-美股」(menu_id=1864) 下
-- 执行后退出后台重新登录
 
-- 【可选】查看 1864 下现有子菜单
-- SELECT menu_id, parent_id, name, url, order_num FROM tz_sys_menu WHERE parent_id = 1864;
 
-- 1) 新增盘前菜单
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-pre-market-config',
    '',
    1,
    'bianji',
    IFNULL((SELECT MAX(c.order_num) FROM tz_sys_menu c WHERE c.parent_id = 1864), 0) + 1,
    '1'
WHERE NOT EXISTS (
    SELECT 1 FROM tz_sys_menu p
    WHERE p.url = 'us-spots/us-pre-market-config'
       OR (p.parent_id = 1864 AND p.name = '盘前配置(US)')
);
 
-- 2) 角色授权:已有「股票-显示-美股」(1864) 权限的角色
INSERT INTO tz_sys_role_menu (role_id, menu_id)
SELECT DISTINCT rm.role_id, pre.menu_id
FROM tz_sys_role_menu rm
INNER JOIN tz_sys_menu pre ON pre.url = 'us-spots/us-pre-market-config'
WHERE rm.menu_id = 1864
  AND NOT EXISTS (
    SELECT 1 FROM tz_sys_role_menu x
    WHERE x.role_id = rm.role_id AND x.menu_id = pre.menu_id
  );
 
-- 3) 角色授权:已有 1864 下任意子菜单权限的角色
INSERT INTO tz_sys_role_menu (role_id, menu_id)
SELECT DISTINCT rm.role_id, pre.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
INNER JOIN tz_sys_menu pre ON pre.url = 'us-spots/us-pre-market-config'
WHERE NOT EXISTS (
    SELECT 1 FROM tz_sys_role_menu x
    WHERE x.role_id = rm.role_id AND x.menu_id = pre.menu_id
);
 
-- 【验证】
-- SELECT menu_id, parent_id, name, url FROM tz_sys_menu WHERE parent_id = 1864;