珠海项目 - 数据建模:票务 & 会员 ER
6/3/2025
我们开始搭建数据库模型,核心是票务与会员系统。
系统的第一步是定义数据结构。我们决定从两个最核心的实体入手:票务与会员。
🎫 票务模块
票务系统主要承担如下功能:
- 门票种类(成人票、亲子票、年卡等)
- 每日限额与库存控制
- 下单与核销流程
- OTA 与线下票据统一建模
我们采用如下 ER 结构初稿:
TicketType <-- Ticket <-- Order <-- CheckInLog
其中 TicketType 定义商品,Ticket 是实际发出的票,CheckInLog 记录每一次核销。
🧑🤝🧑 会员模块
会员模块分为三层结构:
User <-- Membership <-- PointsLog / LevelLog
User是账号本体(微信、手机号)Membership记录当前等级、有效期等PointsLog记录积分获取与使用
我们尽量将会员逻辑与票务解耦,这样既支持实名购票,也允许游客匿名买票。
设计约定
- 所有金额字段使用整数(单位为分),避免浮点误差;
- 使用
uuid作为所有主键,统一格式; - 记录创建者、更新时间,便于追溯;
- 所有票券具备 trace_id,方便链路追踪。
下篇我们会分享前端部分的技术选型,以及如何用 Solid 分拆这些复杂的表单组件。