50 lines
1.7 KiB
SQL
50 lines
1.7 KiB
SQL
-- 为客户角色(Code=Customer)批量追加小红书权限(幂等,可重复执行)
|
||
-- RBAC 库执行;role_permission.CreateUserId 为 INT,可写 0
|
||
|
||
INSERT INTO `role_permission` (`Id`, `RoleId`, `PermissionCode`, `CreateUserId`, `CreateTime`)
|
||
SELECT UUID(), r.`Id`, p.`Code`, 0, 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`, 0, 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`
|
||
);
|