首页 > 代码库 > 12306和淘宝真不一样
12306和淘宝真不一样
每每到了逢年过节,举家出行的时候,12306购票就会又成为大家的话题中心,又常常会把12306购票和淘宝购物拎到一起对比。今天就来给大家聊一聊12306购票和淘宝购物的不同之处。
淘宝的购物方式可以认为是一种库存减少型的计数,而且可以存在超卖的情况。淘宝上购买任意一款商品,该款商品的所有属性完全一致。假设商品为(北京-上海,xx车,01车厢)车票,总数为50张。那么这50张票只包含北京-上海,xx车,01车厢这3个属性值。当旅客购买车票的时候,每卖掉1张车票,该车票的总量减少1,所以剩余车票张数为49,注意卖出的这张车票的属性并没有发生变化,只是库存余量的变化。
总结来说就是商品的库存为N,已售是作为库存进行-1的行为,库存剩余为N-1,并且商品属性值并没有变化。
那么12306购买和淘宝购物有明显的差别,同样为(北京-上海,01车厢)车票。这些车票相同属性值为(北京-上海,XX车,01车厢),不同的属性值就是席位,因为火车上的席位是唯一的,那么就是说每一张车票,它的库存余量都是1。那么如果有50个席位,就类似淘宝有50件商品一样,每件商品库存均为1。假设旅客购买(北京-上海,xx车,01车厢,01A席位)车票,该商品就已售完了,这是最简单的一种情况。
现在变换的稍微复杂一点。依然是(北京-上海)车票,其中途停1北京、2南京、3苏州、4上海,停靠4个车站,可售卖的区段按照排列组合的方式,包含
A:1-2,B:2-3,C:3-4,D:1-3,E:1-4,F:2-4,总共6个区段,如表1。
1北京 | 2南京 | 3苏州 | 4上海 | |
1北京 | A:1-2 | D:1-3 | E:1-4 | |
2南京 | B:2-3 | F:2-4 | ||
3苏州 | C:3-4 |
表1
接着给这个车次设置一个属性值,例如2016-10-01,北京-上海,DXXX次,01车,二等座,01A席位。那么当购买B:2-3这个区段后,(01车,二等座,01席位)车票就被拆分为A:1-2(未售),B:2-3(已售),C:3-4(未售),D:1-3(不可售),E:1-4(不可售),F:2-4(不可售)。
最直观的感觉就是,就是车票由6个可售区段变为3个可售区段的过程。现在退掉01车,二等座,01席位B:2-3这个区段,整张车票就6个可售区段完整。
再假设一个场景,例如先购买 B:2-3区段,再购买A:1-2区段,然后退票B:2-3区段,当前情况为A:1-2(已售),B:2-3(未售),C:3-4(未售),D:1-3(不可售),E:1-4(不可售),F:2-4(未售),当前可售卖B、C、F三个区段。
以上两种情况可以看出来,这个时候,车票的库存量并不能认为是唯一的,而是根据实际需求进行变化,但是这些变化又是有据可循,不能脱离车票的预设属性值范围。
总结来说,12306购票和淘宝购物的区别在于,可以认为在淘宝上是有N件商品的,每个商品库存为1,已售作为库存进行-1的操作,其剩余库存为0,接着该销售行为可能会引起商品的连锁变化,一种的商品已下架,未引出其他商品;一种是商品已下架,但是自动生成了新的商品的过程。
更复杂的情况就不再本文里赘叙了,在这里小喵只是想表达,12306真的是一个又复杂又繁琐的售票过程,这里只是用最简单的方式呈献其中的部分逻辑给旅客,希望广大旅客能给予更多的信任和理解,我们也会努力让大家的出行变得更简单更便捷。
12306和淘宝真不一样