1
头图

前言

Hi,各位朋友,好久不见,我是CrazyCodes

今年从开春以来,各地的演唱会层出不穷,简直火的不得了,所以这篇我们就聊聊这类系统的基本业务设计。

演出售票系统包括三大重要元素,分别是演出、场次和票品,本章就根据这三大元素开展讨论。

image.png

演出

演出,顾名思义就是我们在某麦上看到的演出列表,可以把它当作商品系统的SPU,而演出所包含的基本元素有,演出标题、演出封面和演出的基本介绍

字段注释
id演出ID
artist艺人
cover演出封面
title演出标题
intro演出介绍

而演出我们可以对应多个站点,例如北京站、上海站等,但也可以不对应,而直接对应场次,这样可以做到演出与站点绑定,也可以跳过站点与场次直接绑定,如果以站点绑定,可以认为站点是一个SKU,他们大概的绑定关系

演出SPU演出SKU
一场完美的演出【北京】一场完美的演出 北京演唱会
一场完美的演出【上海】一场完美的演出 上海演唱会
一场完美的演出【深圳】一场完美的演出 深圳演唱会

场次

场次与演出SPU或者是演出SKU是一个多对一的关系,即一场演出对应多个场次,每个场次都有一个开始和一个结束时间用于控制售票。

graph TD
    A[一场完美的演出] --> B(2023.11.11 周六 19:00)
    A[一场完美的演出] --> C(2023.11.12 周日 19:00)
    A[一场完美的演出] --> D(2023.11.13 周一 19:00)

票品

而票品,则与某个场次对应,票品与场次同样是多对一的关系,即一个场次对应多个票品,例如

graph TD
    A[2023.11.11 周六 19:00] --> B(早鸟票)
    A[2023.11.11 周六 19:00] --> C(VIP票)
    A[2023.11.11 周六 19:00] --> D(双人套票)

类似于早鸟、vip这样的名称,就是一个票品,而票品根据运营不同策略,又可能有它自己的开售和停售时间,票品的售票时间的优先级,会优于场次设置的开售时间。

致谢

总结来说,演出售票系统的复杂度在于售票时间的设计与控制,售票时间会存在多个元素中,我们设计过程中,要多次判断它的优先级,以达到业务要求。

感谢你看到这里,希望本篇可以帮助到你,谢谢。


CrazyCodes
16.9k 声望14.8k 粉丝

I am CrazyCodes,生命不息,编码不止。


引用和评论

0 条评论