Merge branch 'test' of http://8.163.30.128:10082/java-project/baiyue-firstleg into test
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
-- 本机旧权限目录修复:按权限编码补齐内置平台管理员的确认发车授权。
|
||||
-- 只连接本机 baiyue_iam 执行;保留权限真实 ID,不覆盖其他角色或现有授权。
|
||||
USE baiyue_iam;
|
||||
START TRANSACTION;
|
||||
CREATE TEMPORARY TABLE tmp_local_admin_depart_repair AS
|
||||
SELECT r.id AS role_id, p.id AS permission_id
|
||||
FROM iam_role r
|
||||
JOIN iam_permission p ON p.tenant_id=0 AND p.app_code='PLATFORM'
|
||||
AND p.permission_code='platform:overseas-warehouse:dispatch:depart'
|
||||
AND p.status='ACTIVE' AND p.deleted=0
|
||||
WHERE r.tenant_id=0 AND r.app_code='PLATFORM' AND r.role_code='PLATFORM_ADMIN'
|
||||
AND r.status='ACTIVE' AND r.deleted=0
|
||||
AND NOT EXISTS (SELECT 1 FROM iam_role_permission rp
|
||||
WHERE rp.tenant_id=0 AND rp.role_id=r.id AND rp.permission_id=p.id);
|
||||
INSERT IGNORE INTO iam_role_permission (tenant_id,role_id,permission_id,created_at)
|
||||
SELECT 0,role_id,permission_id,CURRENT_TIMESTAMP(3) FROM tmp_local_admin_depart_repair;
|
||||
-- 与授权同事务推进所有受影响有效平台成员的安全版本,旧会话不能继续使用旧权限。
|
||||
INSERT INTO iam_security_subject_version (auth_user_id,permission_version)
|
||||
SELECT DISTINCT u.auth_user_id,1
|
||||
FROM iam_user u
|
||||
JOIN iam_membership m ON m.user_id=u.id AND m.tenant_id=0 AND m.status='ACTIVE' AND m.deleted=0
|
||||
JOIN iam_membership_role mr ON mr.membership_id=m.id AND mr.tenant_id=0
|
||||
JOIN tmp_local_admin_depart_repair change_row ON change_row.role_id=mr.role_id
|
||||
WHERE u.status='ACTIVE' AND u.deleted=0 AND u.auth_user_id IS NOT NULL
|
||||
ON DUPLICATE KEY UPDATE permission_version=permission_version+1;
|
||||
SELECT COUNT(*) AS added_admin_depart_grants FROM tmp_local_admin_depart_repair;
|
||||
DROP TEMPORARY TABLE tmp_local_admin_depart_repair;
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user