最近写微信转账到零钱的功能。
除了基本接口处理,也要兼顾系统财务安全,和异常处理情况。中心思想就是实现功能的同时,别给自己找事……
本次开发在原有基础上二开。采用方法为编写新的方法,嵌入到需要调用的地方。最佳效果就是原代码加一行实现新功能。逻辑清楚,便于修改。
为保证财务安全,首先判断系统总财务的核销。应为 用户总收入=总支出+总待提现。在此基础上,提现金额小于等于待提现金额。
为保证转账的正确性,对于异常用户不予操作。比如用户无效、无用户openid、一个openid对应两个用户等。尤其一个openid对应两个用户,用户登录会造成数据显示异常,造成用户混乱。然后运营疯狂找你……
对于异常数据应建表保存。
我的方法是对于请求微信接口数据存一张表,之后称为记录表。对于未成功的用户使用定时任务轮询的方式,调用微信查询接口,并把原因写入对应表位置。便于运营操作,不然也都是事。
其次就是校验的异常,这点对于用户比较重要。毕竟关于钱的问题,若是平台校验不过应该让用户尽早知道,避免异议。
采用的方法是,设置提现申请表,错误的校验结果也写入该表。对于提现成功的数据,将记录表id回写,便于查询。