62 lines
2.1 KiB
SQL
62 lines
2.1 KiB
SQL
-- 为客户 / Admin 角色批量追加小红书权限(幂等,可重复执行)
|
||
-- RBAC 库执行
|
||
-- ⚠️ 本环境 role_permission.CreateUserId 为 CHAR(36) GUID,不可写整数 0(登录会报 Guid: 0)
|
||
|
||
SET @ADMIN_USER_ID = (
|
||
SELECT `Id` FROM `user`
|
||
WHERE `Account` = 'admin' AND (`IsDeleted` = 0 OR `IsDeleted` IS NULL)
|
||
LIMIT 1
|
||
);
|
||
SET @ADMIN_USER_ID = IFNULL(
|
||
@ADMIN_USER_ID,
|
||
'00000000-0000-0000-0000-000000000001'
|
||
);
|
||
|
||
INSERT INTO `role_permission` (`Id`, `RoleId`, `PermissionCode`, `CreateUserId`, `CreateTime`)
|
||
SELECT UUID(), r.`Id`, p.`Code`, @ADMIN_USER_ID, NOW()
|
||
FROM `role` r
|
||
CROSS JOIN (
|
||
SELECT 'Xhs.Agent.Query' AS `Code` UNION ALL
|
||
SELECT 'Xhs.Agent.Control' UNION ALL
|
||
SELECT 'Xhs.Analysis.Use' UNION ALL
|
||
SELECT 'Xhs.Creation.Use' UNION ALL
|
||
SELECT 'Xhs.Publish.Query' UNION ALL
|
||
SELECT 'Xhs.Publish.Cancel' UNION ALL
|
||
SELECT 'Xhs.Skills.Query' UNION ALL
|
||
SELECT 'Xhs.Skills.Save' UNION ALL
|
||
SELECT 'Xhs.Skills.Run' UNION ALL
|
||
SELECT 'Xhs.HumanSettings.Save' UNION ALL
|
||
SELECT 'Xhs.Ai.Use' UNION ALL
|
||
SELECT 'Xhs.Ai.Save'
|
||
) p
|
||
WHERE r.`Code` = 'Customer'
|
||
AND NOT EXISTS (
|
||
SELECT 1 FROM `role_permission` rp
|
||
WHERE rp.`RoleId` = r.`Id` AND rp.`PermissionCode` = p.`Code`
|
||
);
|
||
|
||
INSERT INTO `role_permission` (`Id`, `RoleId`, `PermissionCode`, `CreateUserId`, `CreateTime`)
|
||
SELECT UUID(), r.`Id`, p.`Code`, @ADMIN_USER_ID, NOW()
|
||
FROM `role` r
|
||
CROSS JOIN (
|
||
SELECT 'Xhs.Agent.Query' AS `Code` UNION ALL
|
||
SELECT 'Xhs.Agent.Control' UNION ALL
|
||
SELECT 'Xhs.Analysis.Use' UNION ALL
|
||
SELECT 'Xhs.Creation.Use' UNION ALL
|
||
SELECT 'Xhs.Publish.Query' UNION ALL
|
||
SELECT 'Xhs.Publish.Cancel' UNION ALL
|
||
SELECT 'Xhs.Skills.Query' UNION ALL
|
||
SELECT 'Xhs.Skills.Save' UNION ALL
|
||
SELECT 'Xhs.Skills.Run' UNION ALL
|
||
SELECT 'Xhs.HumanSettings.Save' UNION ALL
|
||
SELECT 'Xhs.Ai.Use' UNION ALL
|
||
SELECT 'Xhs.Ai.Save'
|
||
) p
|
||
WHERE r.`Code` = 'Admin'
|
||
AND NOT EXISTS (
|
||
SELECT 1 FROM `role_permission` rp
|
||
WHERE rp.`RoleId` = r.`Id` AND rp.`PermissionCode` = p.`Code`
|
||
);
|
||
|
||
-- 若曾用 CreateUserId=0 插入过,执行 fix_rbac_bad_guids.sql 修复脏行
|