「飞猪」的 bug,谁背锅?

唐韧 / 2021-07-05 07:54:42

「飞猪」的 bug,谁背锅?

原创 唐韧 唐韧 6天前

最近找到我说各种平台产品 bug 的读者比较多,我也挑了些比较有代表性的拿出来跟你们分享。昨天聊了聊微信红包封面开放平台,今天聊聊飞猪。




飞猪是阿里旗下的一个旅游出行类产品,跟携程类似。有个读者在使用飞猪买火车票的过程中就遇到了一个奇葩问题。




她计划购买 6 月 25 号从上海出发去无锡的 G7156 次列车,因为票源比较紧张,在飞猪上下单后只抢到了一张二等无座票。




图片


因为是无座,且过程中可能会有其他人退票,于是她继续下了个抢票订单想试试运气能不能换个有座票。




买过票的知道,如果已经购买过一个车次的票,是不能再次购买同一车次的车票的。可是在飞猪下单抢票时,她依然能选择同一车次同一时间的票。




因为她首选车次还有余票且都为无座,所以新下的订单很快就抢到了票,依然是二等无座票。




这就有意思了,同一个车次买到了两张一样的票,而且都显示成功。




一脸懵逼的她本能地退了其中一张票,想着无座就无座吧,总比没有强。




图片


本以为剩下的一张票可以正常乘车,可没想到更有意思的事情来了。




到了乘车日,她进站过安检刷身份证没问题,可到了乘车时间刷身份证过闸机时,系统显示没有她的购票信息。




这就无语了,明明买票成功了,结果坐车时显示无票。




为了再次确认,查看飞猪的订单显示购票成功,但当她拿出 12306 的 App 一看,显示该车票已退。




图片


大写的尴尬顿时写在脸上,这不坑人么!




在跟工作人员解释后,好在人家通融让她进去了,反正是无座票,如果要补的话上车补就行了。




我看了下她发给我的订单信息,其中还真有些端倪。




首先,这两个订单对应的取票号是一样的,取票号是 12306 系统识别车票的凭证。




其次,这两个订单的订单号不一样,说明在飞猪的系统里确实产生了两个订单,且都对应同一个车次,一个有效,一个退款成功。




图片


一样的取票号,不一样的订单号。




前者是 12306 的系统生成,后者是飞猪的系统生成。




按照结果看,她退票时实际上是把已经购买成功的票给退了,因为始终只有一个取票号、一张车票。




而留下来的那张以为是成功的车票,实际上是飞猪系统里一个不存在车票的订单。




简单说,就是张无效假车票。




因为 12306 系统里早已经没了这张车票,所以过闸机乘车时自然查不到。至于过安检刷身份证可以过,大概率是因为那是否并不验证车票,只验证身份合法性。




那肯定就有人好奇了,造成这个奇葩现象的原因是什么?是飞猪的 bug 么?




先来看下飞猪的客服是怎么解释的。




图片


从客服的反馈来看,第一,不承认这是 bug;第二,说如果同时预约就会可能出现重复出票。




先纠正客服的一个说法,重复出票在 12306 系统内是不可能的,在这个场景下,准确说是飞猪自己的系统重复出票了。




实际上,飞猪的系统和 12306 的系统是两套独立的系统,数据也是独立的。




在飞猪上订票时会生成两个信息,一个是飞猪的业务订单信息,一个是向 12306 发起的订票信息。




理论上,这两个信息是绑定的,飞猪的业务订单会根据 12306 的回调结果进行状态变更。




但在这个读者所处的场景下,她下了两个抢票订单,且两个都抢票成功了。于是,飞猪的业务订单在没有判断的情况下都显示了成功,我们暂且称为订单 A 和订单 B。与此同时,12306 的真实有效订单其实只有一个。




当她发起退票时,飞猪会去调用 12306 的退票接口退票,但飞猪系统只取消了订单 B,保留了订单 A。




这就是为什么她看到还剩余一张票且以为能正常乘车的原因。




按照客服的解释,貌似这个问题无解。但实际上,这是一个可以被避免的问题。




前面说了,飞猪系统和 12306 是独立的,在发起真正的订票请求前,所有的业务逻辑判断都可以由飞猪系统自己完成。




比如,当用户已经成功下单购票并生成订单 A 以后,系统里已经有了完整的车次车票信息。如果用户再次发起一个重复车次的抢票,系统就可以判断出来并提示用户。




可是,飞猪没有做这个判断,也没有做这个提示,所以才出现了这个问题。




从某种程度上说,这就是一个 bug。




还好这次是顺利乘车了,如果碰上急事或者退票后无票可买,那才是真的无语。




换个角度,这位读者绕了一圈就是被飞猪耍了,飞猪生成了两个订单,她以为退了一个剩一个,实际上把真的退了,假的留下来了。




这个锅,谁来背?




以上,是我和她讨论的过程中推测出来的问题所在,至于具体原因是什么,飞猪的产品经理看到了也可以去查下。




又是帮人家产品找 bug 的操心之旅。




图片

················· 唐韧出品 ·················


安可时刻


昨天文章的留言区看到这么一条留言,放出来共赏一下。




图片




没别的意思,只是想告诉大家一个简单而朴实的道理:失败是成功之母。




如果再补充一条:实践是检验真理的唯一标准。



今天,与 63879 位读者一起见证彼此成长

后台回复“w”,可加我个人微信



推荐阅读



微信红包封面这样弄,算不算坑人?

我 33 了,一天只工作 10 个小时



阅读 7422

写下你的留言

精选留言


🎲

最后安可时刻真的赞同,网上全是正向逻辑,实际操作就会出现很多坑。只有坑踩多了,才能变强


唐韧

(作者)

学习别人的踩坑经验,远比看一些正确的东西有用。


Zenggezhan

有些车次在飞猪上有,在12306上没有,如果在飞猪上抢票一定要看下12306有没有这个车次昂,不然真的白等了,飞猪也没有提示该车次取消了,


唐韧

(作者)

其实买火车票直接12306就行,直接,干脆,好用。机票是另一回事,毕竟火车票没有那么多火车公司。


这个问题内部肯定早知道了,但解决他有kpi么?有可能发出这个bug还有人会被追责,所以谁又会去管呢?所以,问题产生的源头可能是产品漏洞或程序漏洞,问题没能解决的源头都是制度


D

飞猪应该收到了大量的类似反馈,我觉得可以探讨一下为什么他们不优先解决这类问题的动机


唐韧

(作者)

有时候,可能就是不够重视或者有更高优先级


一米阳光

我以前两个网站抢同一个人同一辆车票,第一张抢票成功支付成功,第二张抢票成功支付失败,然后去火车站打印出来两张票,把支付成功的票退了,拿着支付失败的票做了车,白嫖了一次12306,有图为证,图私信发给唐韧了


唐韧

(作者)

看到了,那是实实在在12306的bug


ErrorMan

哈哈,看到这个bug我脑海里第一个浮现出来的是Java里面两个变量指代了内存当中同一块地址,对任意操作都会使地址区域内容变更,另一个就成了垃圾被JVM回收了(相当于被自动退票)


唐韧

(作者)

形象


茶颜悦色

在线等,康康飞猪PM啥时候能看到


唐韧

(作者)

估计已经看到了


Emma🌀

之前就被飞猪坑过差点没做上车


唐韧

(作者)

看来不是个例


Lynn

大家还是尽量用携程吧,前阵子去海南,我用携程买的机票,老公是用飞猪买的(贪几块钱的优惠券),结果那个航班取消了,携程第一时间就公众号和短信通知我了,然后我通过携程客服,将机票改签了另一家航空公司的。而飞猪始终没有提醒用户航班取消,老公想改签另一家航空公司的也不行(飞猪只支持同航司改签),最后还是好不容易打航司的电话才搞定。从那以后我们决定,再也不用飞猪。


丛林Sarah

之前用这个app定酒店,两次都出现预定和付款成功,晚上去入住酒店说没有预定成功...不得不拖着箱子下载携程app随便住一个就近的了。体验非常差,且飞猪客服推给酒店没接单等等。自此再也没有用过飞猪了。


寒夜微暖

我理解啊 承认“同时预约可能重复出票”就等于承认有bug了


唐韧

(作者)

嗯,但人家就不直说,也没法直说。


王城

火车票这种就一家公司一个官方的东西,完全没必要去第三方买,又没折扣


唐韧

(作者)

有时候用户习惯就是这样,习惯着习惯着就习惯了


风凌竹

我前几天也遇到类似问题,是美团的,给我弟订中考时候住宿房间,一共3晚,分2次订的,到宾馆了,说没有最后一晚的订单,美团和我都显示有,但是宾馆就没有,不过美团人工客服解决问题还是可以的,先是帮着找其他宾馆,最后线下自己续的一天,美团那个订单取消,然后赔偿100。


后知后觉的疯子

前段时间智行app有个机票盲盒bug,在智行app上买99元的机票盲盒,如果是川航的机票,购买成功后可以在川航app上自助退票,可以退好几百,智行app规则是不能退的,川航退成功了,而且是退机票原价扣除了一些手续费,听说后续有智行的客服打电话给用户让退钱之类的。。


晚柠

发表一个我知道的事情:据我了解,好像飞猪,携程这类的第三方软件对接的并不是12306,中间还有转接公司。大概的流程好像是:用户——在第三方平台(发起请求)——中转公司——12306。


唐韧

(作者)

具体中间逻辑我还没深究,如果是,跳转越多,出问题的概率其实越大。


LTCar1na

通过各类三方平台所谓的“会员”购买火车票动车高铁票,不如使用12306候补抢票,比三方平台会员好使多了


唐韧

(作者)

所有的第三方,中间都有一座桥


樱嘤缨璎

优秀的杠精 从来不愁找不到杠的角度 甲之蜜糖乙之砒霜 唐大加油


唐韧

(作者)

关键是,杠精往往觉得自己有理有据而且自命不凡


小朋友

飞猪的产品能否在线battle一下


唐韧

(作者)

小板凳已搬好


杨帆

这个问题有意思,可能两边都有问题:

1.12306重复校验,不根据三方订单号?飞猪两个订单,12306一个取票号,很可能是根据车次人员校验,没按三方订单号做重复校验

2.飞猪接收回调,不根据飞猪订单号和12306订单号?12306有可能没回传飞猪订单号吗,这将是大bug;即使没回传,飞猪也是可以根据取单号校验的(目前两边订单应该是1对1)

3.事前校验,飞猪可以做内部校验,12306提供服务的话,能避免多平台重复下单


旎子

飞猪的退票流程也是大写的繁琐,上次就碰到一个问题:

背景是:需要帮5位异地的长辈订车票,他们想要购买下铺的诉求,所以选择了飞猪;后来由于行程变更需要退票,问题就来了;

明明在飞猪里显示出票成功,但是购买人在12306的app上根本就看不到订单,而且即使是登录了购票人本人的账号也查不到订单;

后来仔细询问才知道,飞猪的退票流程是必须在支付宝里面搜索小程序并且登录购票人本人的账号才能发起退票;由于是一次订了5张票;其中有几位长辈基本没用过12306订票服务;必须挨个登录注册他们的账号才完成退票…

本以为发起退票就完事了,结果还需要购票人本人拿身份证去火车站退票口退钱

无力吐槽

----------------------------
本文由新墨整理并发布。转载来自互联网,若侵权则删除!
新墨5年开发经验,45名团队成员,上线已达100+产品,于北京和成都2个城市提供技术开发服务。致力于提供APP开发,小程序开发,微信开发,IOT物联网开发,电商系统开发,教育系统开发,H5开发,游戏开发,用户体验设计,课件设计

新墨官网地址:http://www.sinmore.com.cn/
新墨物联网站:http://www.sinmore.cn/

热门文章
最新文章
推荐文章