首先声明我想的不成熟,可以被挑战。
其次,只讨论技术实现。
假如车次为 G3 ,该车次为北京始发到上海,沿途经过北京南、济南西、南京南。那么,预设为各车站之间均为一个库存,那么存在北京-北京南、北京南-济南西、济南西-南京南、南京南-上海这几种库存类型,假如买了一张北京到上海的全程车票,那么会在上述区间都去掉 1 个库存。当任意一个区间库存为 0 之后,覆盖到该区间的车票将无法购买;而查询非 0 库存区间时则会提示为有票。
那么,G3 车次北京->上海为一个商品大类,二级类别中分为商务座、一等座、二等座、无座等各种座次,每个座次类型的库存相互独立。
买短乘长的逻辑为,已经购买了其中部分区间的票,超出后的部分为单独的购票逻辑。
买长乘短的逻辑为,购买了超长区间的库存,而声明提前下车后,后续区间相应库存会释放。
注意,库存数量并非为静态值。
其次,只讨论技术实现。
假如车次为 G3 ,该车次为北京始发到上海,沿途经过北京南、济南西、南京南。那么,预设为各车站之间均为一个库存,那么存在北京-北京南、北京南-济南西、济南西-南京南、南京南-上海这几种库存类型,假如买了一张北京到上海的全程车票,那么会在上述区间都去掉 1 个库存。当任意一个区间库存为 0 之后,覆盖到该区间的车票将无法购买;而查询非 0 库存区间时则会提示为有票。
那么,G3 车次北京->上海为一个商品大类,二级类别中分为商务座、一等座、二等座、无座等各种座次,每个座次类型的库存相互独立。
买短乘长的逻辑为,已经购买了其中部分区间的票,超出后的部分为单独的购票逻辑。
买长乘短的逻辑为,购买了超长区间的库存,而声明提前下车后,后续区间相应库存会释放。
注意,库存数量并非为静态值。