admin/sql/seed_warehouse_module_permissions.sql
zzh a383ee6f32 feat: 实现仓储模块与平台店铺订单后端能力
新增仓储领域实体、仓储库、WarehouseService 全套接口及数据库迁移脚本;
实现店铺授权、店铺订单服务与库存匹配创建小包单;补充仓储模块 RBAC 权限种子数据。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 15:19:35 +08:00

43 lines
1.6 KiB
SQL

-- 仓储模块 + 店铺授权/订单 RBAC 权限(幂等)
-- RBAC 库执行;执行后用户需重新登录或刷新权限缓存
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,
'08de4226-3fd4-4a5c-83e5-70e164b15f2f'
);
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 'Warehouse.Sku.Query' AS `Code` UNION ALL
SELECT 'Warehouse.Sku.Save' UNION ALL
SELECT 'Warehouse.Sku.Delete' UNION ALL
SELECT 'Warehouse.Inventory.Query' UNION ALL
SELECT 'Warehouse.Inventory.Relocate' UNION ALL
SELECT 'Warehouse.Parcel.Query' UNION ALL
SELECT 'Warehouse.Parcel.Save' UNION ALL
SELECT 'Warehouse.Parcel.Delete' UNION ALL
SELECT 'Warehouse.InboundNotice.Query' UNION ALL
SELECT 'Warehouse.InboundNotice.Save' UNION ALL
SELECT 'Warehouse.InboundNotice.Delete' UNION ALL
SELECT 'Order.PlatformStore.Query' UNION ALL
SELECT 'Order.PlatformStore.Save' UNION ALL
SELECT 'Order.PlatformStore.Delete' UNION ALL
SELECT 'Order.PlatformStore.Auth' UNION ALL
SELECT 'Order.PlatformStoreOrder.Query' UNION ALL
SELECT 'Order.PlatformStoreOrder.MatchInventory' UNION ALL
SELECT 'Order.PlatformStoreOrder.ToggleSuspend' UNION ALL
SELECT 'Order.PlatformStoreOrder.Delete'
) p
WHERE r.`Code` IN ('Admin', 'Customer')
AND NOT EXISTS (
SELECT 1 FROM `role_permission` rp
WHERE rp.`RoleId` = r.`Id` AND rp.`PermissionCode` = p.`Code`
);