-- 客户尺寸计算配置权限;仅用于平台后台查看和维护,不控制内部初始化接口。 USE baiyue_iam; SET NAMES utf8mb4; DROP PROCEDURE IF EXISTS migrate_customer_dimension_config_permissions; DELIMITER $$ CREATE PROCEDURE migrate_customer_dimension_config_permissions() BEGIN IF EXISTS ( SELECT 1 FROM iam_permission WHERE (id = 5102111 AND permission_code <> 'firstleg:dimension-config:view') OR (id = 5102112 AND permission_code <> 'firstleg:dimension-config:edit') OR (permission_code = 'firstleg:dimension-config:view' AND id <> 5102111) OR (permission_code = 'firstleg:dimension-config:edit' AND id <> 5102112) ) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'customer dimension config permission id/code conflict'; END IF; INSERT INTO iam_permission (id, tenant_id, app_code, permission_type, parent_id, permission_code, permission_name, route_path, http_method, sort_no, status, built_in, deleted) VALUES (5102111, 0, 'PLATFORM', 'BUTTON', 5100010, 'firstleg:dimension-config:view', '查看客户尺寸计算配置', NULL, NULL, 90, 'ACTIVE', 1, 0), (5102112, 0, 'PLATFORM', 'BUTTON', 5100010, 'firstleg:dimension-config:edit', '维护客户尺寸计算配置', NULL, NULL, 100, 'ACTIVE', 1, 0) ON DUPLICATE KEY UPDATE permission_name = VALUES(permission_name), parent_id = VALUES(parent_id), status = 'ACTIVE', built_in = 1, deleted = 0; INSERT IGNORE INTO iam_role_permission (role_id, permission_id, tenant_id) SELECT role.id, permission.id, role.tenant_id FROM iam_role role JOIN iam_permission permission ON permission.tenant_id = 0 AND permission.app_code = 'PLATFORM' WHERE role.tenant_id = 0 AND role.app_code = 'PLATFORM' AND ( (role.role_code = 'PLATFORM_ADMIN' AND permission.permission_code IN ( 'firstleg:dimension-config:view', 'firstleg:dimension-config:edit')) OR (role.role_code = 'ORDER_OPERATOR' AND permission.permission_code = 'firstleg:dimension-config:view') ); END$$ DELIMITER ; CALL migrate_customer_dimension_config_permissions(); DROP PROCEDURE IF EXISTS migrate_customer_dimension_config_permissions;