diff --git a/iam/src/main/resources/db/mojia-sku-sync-permissions.sql b/iam/src/main/resources/db/mojia-sku-sync-permissions.sql new file mode 100644 index 000000000..1ab3ea7ee --- /dev/null +++ b/iam/src/main/resources/db/mojia-sku-sync-permissions.sql @@ -0,0 +1,45 @@ +-- 墨家一件代发 SKU 同步页面及操作权限。 +USE baiyue_iam; +SET NAMES utf8mb4; + +DROP PROCEDURE IF EXISTS migrate_mojia_sku_sync_permissions; +DELIMITER $$ +CREATE PROCEDURE migrate_mojia_sku_sync_permissions() +BEGIN + IF EXISTS ( + SELECT 1 FROM iam_permission + WHERE (id = 5102131 AND permission_code <> 'platform:mojia-sku-sync:list') + OR (id = 5102132 AND permission_code <> 'platform:mojia-sku-sync:edit') + OR (id = 5102133 AND permission_code <> 'platform:mojia-sku-sync:retry') + OR (permission_code = 'platform:mojia-sku-sync:list' AND id <> 5102131) + OR (permission_code = 'platform:mojia-sku-sync:edit' AND id <> 5102132) + OR (permission_code = 'platform:mojia-sku-sync:retry' AND id <> 5102133) + ) THEN + SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'mojia sku sync 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 + (5102131, 0, 'PLATFORM', 'BUTTON', 5102000, 'platform:mojia-sku-sync:list', '查看一件代发SKU同步', NULL, 'GET', 130, 'ACTIVE', 1, 0), + (5102132, 0, 'PLATFORM', 'BUTTON', 5102000, 'platform:mojia-sku-sync:edit', '编辑一件代发SKU测量数据', NULL, 'PUT', 131, 'ACTIVE', 1, 0), + (5102133, 0, 'PLATFORM', 'BUTTON', 5102000, 'platform:mojia-sku-sync:retry', '重新推送一件代发SKU', NULL, 'POST', 132, 'ACTIVE', 1, 0) + ON DUPLICATE KEY UPDATE + permission_name = VALUES(permission_name), parent_id = VALUES(parent_id), + http_method = VALUES(http_method), 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 IN ('PLATFORM_ADMIN', 'ORDER_OPERATOR') + AND permission.permission_code IN ( + 'platform:mojia-sku-sync:list', 'platform:mojia-sku-sync:edit', 'platform:mojia-sku-sync:retry'); +END$$ +DELIMITER ; + +CALL migrate_mojia_sku_sync_permissions(); +DROP PROCEDURE IF EXISTS migrate_mojia_sku_sync_permissions;