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

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

virtualman2年前 (2023-12-02)默认分类2753

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

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


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

image.png

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



相关文章

【Socket通信】关于Socket通信原理解析及python实现

【Socket通信】关于Socket通信原理解析及python实现

Socket(套接字)通信{网络通信其实就是Socket间的通信},首先了解下概念:【来源于百度百科】1"两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。"可以这么说,Socket就是一个网络编程的接口(API),它定义了一种标准,并对TCP/I...

python实现对简单的运算型验证码的识别【不使用OpenCV】

python实现对简单的运算型验证码的识别【不使用OpenCV】

最近在写我们学校的教务系统的手机版,在前端用户执行绑定操作后,服务器将执行登录,但在登录过程中,教务系统中有个运算型的验证码,大致是这个样子的: 下面我们开始实现这个验证码的识别。1、图片读取从网站上下载大量同类型的验证码,人工标记上每个验证码的识别结果2、图片灰度化、二值化灰度化,在RGB模型中...

【已解决】ubuntu16.04和Python3.5里的大坑

因为一些历史原因,几个服务器的系统都一直是ubuntu16.04,ubuntu16.04的python3的默认版本是3.5。而我这次配置python环境需要用到Pymysql配置成功后,然后直接运行,一直报错。我还一直尝试修改pymysql的代码,一度以为镜像站里的pymysql有错误。甚至跑去Gi...

Python中的selenium库的基本用法

Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。通过此行代码可以快速在Python中安装selenium库pip install Selenium另外,我们仍需要安装浏览器驱动...

【已解决】Window命令行报错:无法加载文件,因为在此系统上禁止运行脚本。

错误:无法加载文件 D:\Program Files\nodejs\tsc.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 解决方法:...

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

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

发表评论

访客

看不清,换一张

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