From 1244adfaaefaf831fdc3d46ccf5040a0682ffec3 Mon Sep 17 00:00:00 2001 From: Council Date: Mon, 20 Apr 2026 12:58:19 +0800 Subject: [PATCH] =?UTF-8?q?feat(Admin):=20SeatTemplateSave=20=E6=97=B6?= =?UTF-8?q?=E4=B8=BA=E6=97=A0=20id=20=E7=9A=84=20room=20=E7=94=9F=E6=88=90?= =?UTF-8?q?=20UUID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 兜底逻辑:在保存场馆模板时,遍历 rooms, 若 room.id 为空则用 time()+mt_rand 生成唯一 UUID。 不修改已有数据的读取逻辑(读取端已有 room_N 兼容兜底)。 --- shopxo/app/plugins/vr_ticket/admin/Admin.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/shopxo/app/plugins/vr_ticket/admin/Admin.php b/shopxo/app/plugins/vr_ticket/admin/Admin.php index 631e532..0af3d18 100644 --- a/shopxo/app/plugins/vr_ticket/admin/Admin.php +++ b/shopxo/app/plugins/vr_ticket/admin/Admin.php @@ -666,6 +666,14 @@ class Admin extends Common return DataReturn('放映室名称不能为空', -1); } + // 生成 room.id(兜底:保证每个房间有唯一 id,支持前端按 id 引用) + if (empty($room['id'])) { + $room['id'] = sprintf('%08x-%04x-%04x-%04x-%04x%08x', + time(), mt_rand(0, 0xffff), mt_rand(0, 0xffff), + mt_rand(0, 0x3fff) | 0x8000, + mt_rand(0, 0xffff), mt_rand(0, 0xffffffff)); + } + // --- 自动补全 seats 字典,解决 'A' 未定义报错 --- $room['seats'] = []; if (!empty($room['sections']) && is_array($room['sections'])) {