SELECT user_id, points, ref_user, transfer_no FROM wp_points_log WHERE type='transfer' ORDER BY id DESC LIMIT 5;
用户攒了 8000 分想转 2000 给朋友,翻遍会员中心找不到入口,只能发工单让客服手工改。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:积分设计之初只和单个账号绑定,流水表没有对手方字段。转移涉及双方余额和风控,一直没做。
「积分转移」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
处理上按这个顺序:流水表加对手方用户 ID 和转移单号;一次转移写两条流水,一条负数一条正数,同一个事务提交;限制每日次数和单笔上限,接收方要验证邮箱;测试账号互转后核对双方余额和流水。
确认没问题再收工,双方余额一增一减数额相等,流水里有同一个转移单号。
