优化
This commit is contained in:
@@ -1416,11 +1416,11 @@ ON DUPLICATE KEY UPDATE
|
||||
built_in = 1, deleted = 0;
|
||||
|
||||
-- 新增平台操作权限默认只授予系统管理员。
|
||||
INSERT INTO iam_role_permission (role_id, permission_id, tenant_id)
|
||||
SELECT 4000001, id, 0
|
||||
FROM iam_permission
|
||||
WHERE tenant_id = 0 AND app_code = 'PLATFORM'
|
||||
AND permission_code IN (
|
||||
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'
|
||||
AND permission.permission_code IN (
|
||||
'platform:customer:edit', 'platform:customer:status', 'platform:customer:reset-password',
|
||||
'platform:customer:delete', 'platform:customer:impersonate', 'platform:user:grant-role',
|
||||
'platform:permission:edit', 'platform:permission:status', 'platform:permission:delete',
|
||||
@@ -1428,7 +1428,7 @@ WHERE tenant_id = 0 AND app_code = 'PLATFORM'
|
||||
'platform:counterparty:list', 'platform:counterparty:create', 'platform:counterparty:edit', 'platform:counterparty:status',
|
||||
'platform:customer:export', 'platform:download:list', 'platform:download:all'
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE tenant_id = VALUES(tenant_id);
|
||||
WHERE role.tenant_id = 0 AND role.role_code IN ('PLATFORM_ADMIN', 'ORDER_OPERATOR');
|
||||
|
||||
-- 已有客户运营角色继续具备客户导出与本人下载任务查询能力,但不授予查看全部任务。
|
||||
INSERT INTO iam_role_permission (role_id, permission_id, tenant_id)
|
||||
@@ -7397,6 +7397,24 @@ BEGIN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = '统一迁移失败:三期入库装柜权限 ID 未完成迁移';
|
||||
END IF;
|
||||
IF (SELECT COUNT(DISTINCT CONCAT(role.role_code, '|', permission.permission_code))
|
||||
FROM baiyue_iam.iam_role_permission role_permission
|
||||
JOIN baiyue_iam.iam_role role
|
||||
ON role.id = role_permission.role_id AND role.tenant_id = role_permission.tenant_id
|
||||
JOIN baiyue_iam.iam_permission permission
|
||||
ON permission.id = role_permission.permission_id
|
||||
AND permission.tenant_id = role_permission.tenant_id
|
||||
WHERE role.tenant_id = 0
|
||||
AND role.role_code IN ('PLATFORM_ADMIN', 'ORDER_OPERATOR')
|
||||
AND permission.permission_code IN (
|
||||
'firstleg:inbound:split', 'firstleg:inbound:preload',
|
||||
'firstleg:inbound:preload-view', 'platform:firstleg:inbound:loading:edit',
|
||||
'platform:firstleg:inbound:loading:view', 'platform:firstleg:inbound:loading:complete',
|
||||
'platform:firstleg:inbound:delivery:complete', 'platform:firstleg:inbound:picking:edit',
|
||||
'platform:firstleg:inbound:picking:view')) <> 18 THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = '统一迁移失败:三期入库装柜角色授权未完整写入';
|
||||
END IF;
|
||||
IF (SELECT COUNT(*) FROM baiyue_iam.iam_permission
|
||||
WHERE tenant_id = 0 AND app_code = 'PLATFORM'
|
||||
AND ((id = 5102091 AND permission_code = 'platform:firstleg:container:view' AND parent_id = 5102090)
|
||||
@@ -7778,18 +7796,18 @@ BEGIN
|
||||
AND permission_code LIKE 'platform:firstleg:truck-appointment:%') <> 5 THEN
|
||||
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='统一迁移失败:订舱或拖车预约权限未完整写入';
|
||||
END IF;
|
||||
IF (SELECT COUNT(DISTINCT p.permission_code)
|
||||
IF (SELECT COUNT(DISTINCT CONCAT(r.role_code, '|', p.permission_code))
|
||||
FROM baiyue_iam.iam_role_permission rp
|
||||
JOIN baiyue_iam.iam_role r ON r.id=rp.role_id AND r.tenant_id=rp.tenant_id
|
||||
JOIN baiyue_iam.iam_permission p ON p.id=rp.permission_id AND p.tenant_id=rp.tenant_id
|
||||
WHERE r.tenant_id=0 AND r.role_code IN ('PLATFORM_ADMIN','ORDER_OPERATOR')
|
||||
AND p.permission_code LIKE 'platform:firstleg:ocean-booking:%') <> 10
|
||||
OR (SELECT COUNT(DISTINCT p.permission_code)
|
||||
AND p.permission_code LIKE 'platform:firstleg:ocean-booking:%') <> 20
|
||||
OR (SELECT COUNT(DISTINCT CONCAT(r.role_code, '|', p.permission_code))
|
||||
FROM baiyue_iam.iam_role_permission rp
|
||||
JOIN baiyue_iam.iam_role r ON r.id=rp.role_id AND r.tenant_id=rp.tenant_id
|
||||
JOIN baiyue_iam.iam_permission p ON p.id=rp.permission_id AND p.tenant_id=rp.tenant_id
|
||||
WHERE r.tenant_id=0 AND r.role_code IN ('PLATFORM_ADMIN','ORDER_OPERATOR')
|
||||
AND p.permission_code LIKE 'platform:firstleg:truck-appointment:%') <> 5 THEN
|
||||
AND p.permission_code LIKE 'platform:firstleg:truck-appointment:%') <> 10 THEN
|
||||
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='统一迁移失败:订舱或拖车预约角色授权未完整写入';
|
||||
END IF;
|
||||
END$$
|
||||
|
||||
Reference in New Issue
Block a user