凡涉及到支付的就需要对账。最近的项目中刚好涉及到了对账处理,这个模块是我负责的,跟大家分享一下我的经验。
1.获取对账文件,按银行提供的方式去获取文件,一般会在凌晨跑批生成对账文件; 2.解析入库,我遇到对账文件格式有txt和csv,什么格式不重要,只要能接信息出来就好了; 3.解析完成,保存到数据库; 4.获取自己的业务数据 5.对账:双方数据一一比对,形成差错清单,保存数据库;业务对账:
我方 | 银行 |
有 | 无 |
无 | 有 |
异常 | 有 |
成功(无需显示到差错清单) | 成功(无需显示到差错清单) |
金额对账:
我方 | 银行 |
长款 | 短款 |
短款 | 长款 |
一致(无需显示到差错清单) | 一致(无需显示到差错清单) |
备注:程序需要加上一些校验,
比如:
1.重复对账;
2.对账成功无需对账;
3.处理数据量大的时候,最好加个synchronized,否则会出现卡死,或者死锁的情况