当前位置:首页 > 默认分类 > 正文内容

【疑难杂症】记录一次定位并修复涉及支付、转账的系统性BUG

virtualman10个月前 (12-02)默认分类1353

在某个线上的项目上,突然收到用户反馈,存在转账连续转两次的情况。

一开始接到反款后并没有太在意,因为这个项目已经在线上稳定运行了近两年的时间,期间也并没有对订单或者支付系统进行修改。支付的接口也没有发生变化,因此,第一次反馈认为是一次用户的误报。但是,今天下午,有个开发者用户给我再一次反馈了这个BUG,我意识到可能确实存在BUG了。


我先从微信支付(服务商平台)上导出了上一个月的全部转账记录,发现有些连续数据存在时间完全相同(连毫秒都相同)、金额完全相同、备注信息也完全相同的记录,如下图所示,共计30余条。

image.png

紧接着,从数据库中把11月份数据库中的订单、转账记录也导出了出来,理论上,一条订单对应一条转账记录。同时也对应一条微信支付的记录,但在对三份数据进行对比时,发现出现了1对2对2或1对1对2的情况。



相关文章

【动态规划】基础背包问题

  1159. 背包问题一 (Standard IO) 时间限制: 1000 ms  空间限制: 262144 KB  具体限制   题目描述 有个背包可承受重量N,现有T件物品每件物品重量为...

【NOIP初赛 】哈夫曼树

【NOIP初赛 】哈夫曼树

根据我已刷的初赛题中基本每套的倒数第五或第六个不定项选择题就有一个关于哈夫曼树及其各种应用的题,占:0—1.5分;然而我针对这个类型的题也多次不会做,so,今晚好好研究下哈夫曼树;  概念:  给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二...

【JAVA】如何在宝塔面板中运行java springboot项目?手把手教程

【JAVA】如何在宝塔面板中运行java springboot项目?手把手教程

1、安装Tomcat选择网站之后,点击Tomcat管理,直接选择版本安装即可。可以选择安装7、8、9这三个版本都可以。2、将JAVA项目打包在IDEA中,右击项目,选择构建package,等待打包完成后,会在target目录下生成一个.jar的文件3、将tar文件上传到宝塔中。并点击添加JAVA项目...

记录一次如何自己使用国外服务器搭建梯子

记录一次如何自己使用国外服务器搭建梯子

机缘巧合之下,租了一台亚马逊的美国服务器,想着这么大的服务器不能就跑一个业务吧,得利用起来,于是,就开始了搭建梯子之旅。 第一步:使用root账号登上ssh服务器。 第二步:执行一键搭建脚本: bash <(wget -qO- -o- https://git.io/v2ray.sh)...

【PHP】大量 HTTP 请求调第三方接口,接口堵塞引起的 FD 耗尽(too many file open)问题

“FD耗尽”中的“FD”指的是“文件描述符”(File Descriptor)。在Unix和类Unix系统(如Linux)中,文件描述符是一个非负整数,用于标识一个进程打开的文件或其他输入/输出资源,比如网络套接字(socket...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。