账户域总览
-
支付、清算、长短款 作为账户系统上游系统的主要部分。分别承载着
交易记账、清算结转、差异处理
记账等主要功能。 -
账务系统(外部户) 主要进行客户账余额的管理。包含
用户余额、商户余额、商户待结算余额
等注册用户账户余额管理。 -
**会计系统(内部户) **主要进行会计账户(内部户)余额管理,一般记账同时会
绑定会计科目
,支持会计日切任务。 -
日切任务 对每日的账户进行统计归档。包含
补偿记账、账户日终余额、科目总账、总分核对校验
等功能。 -
账户管理平台
- 内部户管理:包含科目管理、内部户开户、内部户流水查询、内部户余额查询、日终查询、科目总账、调账等。
- 外部户管理:包含账户查询、账户冻结解冻、资金冻结解冻、账户流水查询、资金冻结流水查询、外部户调账、日终等。
- 记账引擎:将记账请求转化成复式记账分录。完成
场景 - 复式记账
的映射。
外部户系统设计
外部户领域模型
外部户记账流程
内部户系统设计
内部户领域模型
内部户记账流程
日切任务
上述流程中使用到了大数据平台,主要是处理大数据量的明细流水按科目汇总过程。如果目前的数据量较少,可以用DB代替计算。
细节问题
1. 余额日切如何做?
可以再余额表里冗余上一日余额信息如:last_ac_date、last_balance、last_dr_amount、last_cr_amount
。
日切发生时,跟随余额变更一起修改。update balance =xx ,last_xxx = xx where account = xx version =xx
2. 热点账户异步余额日切如何做?
先落资金明细发生流水,在异步统计流水发生额变更余额时,复用上述逻辑。
3. 热点账户记账如何做?
一个原则: 出金同步入金异步。防止资损。异步记账时先落明细、后续再用定时任务汇总入记账。
当然也可以有其他方式实现:拆分子账户、缓存防透支+异步记账、DB层开启热点更新等。
后续会分享详细设计方案。
4. 科目如何设计?
会计公式: 资产 = 负债 + 所有者权益
按需设计开始不要太复杂。主要分为资产类(借方)科目、负债类(贷方)科目。
资产类:头寸账户、应收待清算账户(按渠道分)、短款账户、预付款账户、应收财务
负债类:客户账户、应付待清算账户(按渠道分)、长款账户、预收款账户、应付财务
一级科目号按国家会计规定设置,二级三级可以按需设计,账户推荐只能挂在三级科目下面。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名,转载请标明出处
最后编辑时间为: