[✅ 已解决] Q2: spec_base_id_map → 共用座位图模板,按分类绑定 #2
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
背景
用户确认"spec = 场次",每个 ShopXO spec 选项 = 一个演出场次。
但需要确认:spec_base_id_map(座位映射)的生成时机和粒度。
问题
每个 spec(场次)有独立的座位配置,还是所有 spec 共用同一座位配置?
选项 A:每个 spec(场次)有独立的座位配置
选项 B:所有 spec 共用同一座位配置
分析
用户说"每一个商品就是一个物理意义上的电影院或者演出地址",倾向于:
但需要确认:是否有"同一场馆不同日期,座位布局不同"的场景?
待验证
✅ 已解决:共用座位图模板,按分类绑定
决策结论
采用 Option A(改进版):一个分类 = 一个完整场馆座位模板,所有 spec(共多场次)共用。
架构说明
座位模板绑定:
vr_seat_templates.category_idUNIQUE 约束,一个分类对应一个座位模板。同一分类下的所有 spec(共多场演出)使用同一套座位图(座位位置/颜色/行数相同)。
spec_base_id_map 用途: 将座位字符(A/B/C/_/-)映射到具体的
spec_base_id,实现分座位类型定价。例如:
同一场次不同座位字符 = 不同价格;不同场次(不同spec)= 不同价格;座位布局(map.map/seat颜色)共用。
实现方式
数据库层(vr_seat_templates.seat_map JSON):
前端(ticket_detail.html renderSeatMap):
specBaseIdMap:{$vr_seat_template.spec_base_id_map|json_encode|raw},按 char 映射 spec_base_idspec_base_id_map不变(共用座位图),但价格可能因 spec 不同而不同Timeline
category_id绑定逻辑已实现[pending-council] Q2: spec_base_id_map 生成时机(每个 spec 独立座位 vs 共用座位)to [✅ 已解决] Q2: spec_base_id_map → 共用座位图模板,按分类绑定