程序员架构设计

结算模块设计

2019-01-30  本文已影响61人  AI贺贺

支付系统和结算系统关系很密切,在钱收到自己的账户里面,不可能就放在那里不管了,在用户用完产品之后,大家要对对账,看看用户用了我们的什么服务,有哪些要收费的项目,用户需要付那些钱,钱有没有付清楚,钱有没有算错,等用户觉得这些收费没错,确认账单了。

大家进行结算,这些结算的数据,后面可供财务制作报表,当然财务有另外一套逻辑,但是起码要提供结算的数据。

这里给出一个结算模块关键部分的参考设计

设计

需要保存的内容

账单
账单历史
账单细节
结算单
结算单历史
发票
除了正常的收费之外还有其他的结算项目,那么再增加一些其他的收费信息表

详细的数据

账单:

账单明细:

结算单:

开票信息:

一些注意点

账单什么时候结算?

  1. 确认账单24h之后,定时任务
  2. 订单状态变成完成之后
  3. 后台手动,生成结算单按钮

结算单什么时候冻结?

  1. 首次结算立刻冻结
  2. 定时任务15天进行冻结(二次结算单,非首次结算都叫做二次结算)
  3. 手工冻结

如果已经冻结的结算单,我们再次进行调账的时候,会生成新的结算单,二次结算单一般不会直接冻结,再二次结算单冻结之前,每次进行账单的调整直接更新数据库数据即可,但是最好有个历史数据表,记录每一次数据的更改。

账单在超过一定的时间之后不能进行调整,时间可通过配置中心控制。

最后

本设计仅供参考

上一篇 下一篇

猜你喜欢

热点阅读