惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
M
MIT News - Artificial intelligence
S
SegmentFault 最新的问题
博客园 - 叶小钗
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
博客园_首页
U
Unit 42
月光博客
月光博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - zping

从数据库优化到治病(4)---从误诊到康复全过程 帮助你改变命运的58个智慧 庸者谋事,智者谋局 鸾书精华(10)--仁者爱人信仰习惯等 13TB的StarRocks大数据库迁移过程 数据抽取平台pydatax使用案例---11个库项目使用 MySQL无开通SQL全审计下的故障分析方法 历程 | 华为十年:从DBA到副总裁的辛酸与喜悦 MySQL核心业务大表归档过程 风水的核心原理 思考能力的提升从把复杂问题简单化开始 东岳大帝回生宝训 学会灵活地用“中庸”的思想,善思多变,是成功的保证 准提法介绍 工作疑难问题解决7例 报表查询数据异常解决方法 读懂王阳明的人,不再有烦恼 中医养生的最高境界:养心 真正的行善是一种内心的修炼和升华 我和我的DBA之路
多年客户金币计算错误解决过程
zping · 2024-11-20 · via 博客园 - zping

    公司SaaS系统有个给客户的员工发放金币,最后计算金币老是流水和总额对不上,以前负责这块的人做过修改还是不对,后来这负责人离职,接手大数据的事情后,该客户真在用金币这块业务,而且财务用这个结算对账,2023年底客户逼急了,要彻底解决这个问题:

       

   和负责这块的产品经理沟通这块内容,说这个金币计算有历史原因导致流水和总额不对,不确定是谁不对,程序也有bug,但现在要重新计算对上,因不懂这块业务,产品经理最后确定原则:

      1,每条金币日志流水中会保留当前的金币总数,用这个2022年12月31日的总额为准,把不对的总额改成当前的流水的总额

      2,在按当天总额+后面的流水重新计算得到每天的期末和期初(金币余额)

   持续多少年的问题,一直没解决,一听就头疼,尽接这样的难题,这里面的坑也不小:

   后来查询金币报表的计算逻辑,同时按上面的思路做发现,不能按2的来做,因为到2022年12月31日批量计算后,和报表的总额有部分还是对不上。后来找了产品经理,他说他只是提供一下解决思路,具体怎么做自己想办法了!

   整体解决方法如下:

    1,SQL查出截止到2022年12月31日的最新的一个金币记录数(2023-01-01前)

    2,对比金币数据,不一致的改成上面总额一致

    3,通过计算金币流水的存储过程,重新计算从2023-01-01到2023-12-25的每天的金币明细

    4,对比金币在2023-12-25的流水总额,不一致的查看不一致原因

    5,发现有几十个账号的金币还是不一致, 期初是一致的,通过计算流水到2023-12-25就不一样,不得不一个账号查原因再计算

   其中发现有程序bug:2个金币明细表的数据有同一条重复的数据,修改其中的一条金币数为0,还有金币数小于0的计算。

   通过这样的笨办法,一个一个看数据,再修正数据到一致,修的眼睛都看花了,程序的bug导致提交后,有2条是一样的数据,让研发同学去改程序。

   没想到2周后,客户发现又有账号的金币又对不上,自己手工重新计算后,对比发现就只有1个账号不对,修正好,再加上程序的修正,到现在2024年11月18日,客户再也没说金币不对的问题。  

   

  总结:

     想想为何这么多年的问题一直没有彻底解决,是真的很难?现在看来,就是数据细心核对修正和程序bug修改,就OK,真是事上无难事,只怕有心人