admin/sql/seed_xhs_role_permissions.sql
zzh ffaf325563 fix(xhs): repair publish/task list SQL and RBAC menu seeds
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 11:23:37 +08:00

62 lines
2.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 为客户 / 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 修复脏行