yanderong
2 天以前 686790777f722b0621bcc20e550d15965cda7b67
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
-- 白名单用户管理-导出 / 启停状态切换 按钮权限增量脚本
-- 说明:本功能无表结构变更(复用 t_app_user_whitelist 现有列与远程回填的公司账户信息),
--       仅在 charging_pile_other 逻辑库新增按钮权限。
-- 幂等:已存在同名 perms 时自动跳过,可重复执行。
 
USE charging_pile_other;
 
-- 白名单用户管理-导出按钮权限;父菜单按现有白名单用户管理菜单定位(历史数据可能存在多个节点,逐一定位均已覆盖)。
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`, `update_by`, `update_time`, `remark`)
SELECT permissions.menu_name, parent.menu_id, permissions.order_num, '#', '', '', 1, 0, 'F', '0', '0', permissions.perms, '#', 'admin', NOW(), '', NULL, ''
FROM `sys_menu` parent
JOIN (
    SELECT '导出' AS menu_name, 12 AS order_num, '/appUserWhitelist/export' AS perms
) permissions
WHERE parent.perms = '/appUserWhitelist/list'
  AND NOT EXISTS (
      SELECT 1 FROM `sys_menu` existing WHERE existing.perms = permissions.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`, `update_by`, `update_time`, `remark`)
SELECT permissions.menu_name, parent.menu_id, permissions.order_num, '#', '', '', 1, 0, 'F', '0', '0', permissions.perms, '#', 'admin', NOW(), '', NULL, ''
FROM `sys_menu` parent
JOIN (
    SELECT '启用/停用' AS menu_name, 13 AS order_num, '/appUserWhitelist/status' AS perms
) permissions
WHERE parent.perms = '/appUserWhitelist/list'
  AND NOT EXISTS (
      SELECT 1 FROM `sys_menu` existing WHERE existing.perms = permissions.perms
  );
 
-- 默认仅授予管理员角色;其他角色由后台按职责单独授权。
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT 1, child.menu_id
FROM `sys_menu` child
WHERE child.perms = '/appUserWhitelist/export'
  AND child.parent_id IN (
      SELECT parent.menu_id FROM `sys_menu` parent WHERE parent.perms = '/appUserWhitelist/list'
  )
  AND NOT EXISTS (
      SELECT 1 FROM `sys_role_menu` existing
      WHERE existing.role_id = 1 AND existing.menu_id = child.menu_id
  );
 
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT 1, child.menu_id
FROM `sys_menu` child
WHERE child.perms = '/appUserWhitelist/status'
  AND child.parent_id IN (
      SELECT parent.menu_id FROM `sys_menu` parent WHERE parent.perms = '/appUserWhitelist/list'
  )
  AND NOT EXISTS (
      SELECT 1 FROM `sys_role_menu` existing
      WHERE existing.role_id = 1 AND existing.menu_id = child.menu_id
  );