71 lines
4.3 KiB
SQL
71 lines
4.3 KiB
SQL
-- Rule management: top-level sibling of data management (not nested under data)
|
|
SET NAMES utf8mb4;
|
|
|
|
-- locate data top menu to place rule management next to it
|
|
SET @dataMenuId := (
|
|
SELECT menu_id FROM sys_menu
|
|
WHERE path = 'data' AND menu_type = 'M' AND parent_id = 0
|
|
ORDER BY menu_id ASC LIMIT 1
|
|
);
|
|
SET @dataMenuId := IFNULL(@dataMenuId, (
|
|
SELECT menu_id FROM sys_menu
|
|
WHERE path = 'data' AND menu_type = 'M'
|
|
ORDER BY menu_id ASC LIMIT 1
|
|
));
|
|
SET @dataOrderNum := (SELECT IFNULL(order_num, 10) FROM sys_menu WHERE menu_id = @dataMenuId LIMIT 1);
|
|
SET @ruleOrderNum := IFNULL(@dataOrderNum, 10) + 1;
|
|
|
|
-- directory: rule management (parent_id = 0, sibling of data)
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
|
|
SELECT 2480, N'规则管理', 0, @ruleOrderNum, 'rule', NULL, '', '', 1, 0, 'M', '0', '0', '', 'edit', 'admin', sysdate(), N'业务规则管理'
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2480 OR (path = 'rule' AND parent_id = 0 AND menu_type = 'M'));
|
|
|
|
-- if already inserted under data, move to top level
|
|
UPDATE sys_menu
|
|
SET parent_id = 0,
|
|
order_num = @ruleOrderNum,
|
|
path = 'rule',
|
|
menu_type = 'M',
|
|
component = NULL,
|
|
update_time = sysdate()
|
|
WHERE menu_id = 2480
|
|
OR (menu_name = N'规则管理' AND menu_type = 'M' AND path = 'rule');
|
|
|
|
SET @ruleParentId := (SELECT menu_id FROM sys_menu WHERE menu_id = 2480 LIMIT 1);
|
|
SET @ruleParentId := IFNULL(@ruleParentId, (
|
|
SELECT menu_id FROM sys_menu WHERE path = 'rule' AND menu_type = 'M' AND parent_id = 0 ORDER BY menu_id ASC LIMIT 1
|
|
));
|
|
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
|
|
SELECT 2481, N'规则配置', @ruleParentId, 1, 'config', 'data/rule/config/index', '', 'BizRuleConfig', 1, 0, 'C', '0', '0', 'data:bizRule:list', 'list', 'admin', sysdate(), N'计费重取值等业务规则'
|
|
FROM DUAL WHERE @ruleParentId IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2481 OR perms = 'data:bizRule:list');
|
|
|
|
-- ensure page menu hangs under top-level rule management
|
|
UPDATE sys_menu
|
|
SET parent_id = @ruleParentId,
|
|
path = 'config',
|
|
component = 'data/rule/config/index',
|
|
update_time = sysdate()
|
|
WHERE @ruleParentId IS NOT NULL
|
|
AND (menu_id = 2481 OR perms = 'data:bizRule:list');
|
|
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
|
|
SELECT 2482, N'查询', 2481, 1, '', NULL, 1, 0, 'F', '0', '0', 'data:bizRule:query', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2482 OR perms = 'data:bizRule:query');
|
|
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
|
|
SELECT 2483, N'新增', 2481, 2, '', NULL, 1, 0, 'F', '0', '0', 'data:bizRule:add', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2483 OR perms = 'data:bizRule:add');
|
|
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
|
|
SELECT 2484, N'修改', 2481, 3, '', NULL, 1, 0, 'F', '0', '0', 'data:bizRule:edit', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2484 OR perms = 'data:bizRule:edit');
|
|
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
|
|
SELECT 2485, N'删除', 2481, 4, '', NULL, 1, 0, 'F', '0', '0', 'data:bizRule:remove', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2485 OR perms = 'data:bizRule:remove');
|
|
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT 1, m.menu_id FROM (SELECT 2480 AS menu_id UNION SELECT 2481 UNION SELECT 2482 UNION SELECT 2483 UNION SELECT 2484 UNION SELECT 2485) m
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);
|