当前位置: 首页 > article >正文

计费结算系统的架构设计思路

背景

近期负责关于集团的计费结算相关的系统,相对于2C系统的大流量,高并发的场景,计费和结算的信息对稳定性要求更高。对时效性要求并没有过于严苛的要求。那么接下来就和大家分享一下计费结算系统的架构设计。

模块划分

在这里插入图片描述

我们暂且将平台细分为规则平台、计费平台和结算平台,我们简单介绍一下各个系统的作用

规则平台

​ 业务、运营人员可以设置一些前置规则,符合规则的数据,会通过大数据/实时接口调用,参与数据的计算

计费平台

​ 满足规则的数据,进行数据的存储,这些数据,作为要结算的基础数据,并不一定要结算,可能只是某些中间状态的数据

结算平台

​ 基于计费的数据,整合结算数据,此结算数据,一般有账期的概念,比如按照日/月/季/年进行汇总结算

全景图

系统内部业务流转图

在这里插入图片描述

我们能比较清晰的看到整个系统关联关系。

业务架构图

在这里插入图片描述

核心部分讲解

​ B端系统很难讲解的地方在于,大家的带入感是不够的,比如我们聊 订单、优惠券、促销,大家都很容易理解,并不是因为业务简单,而是因为,我们每天都在接触,比如购物,使用优惠券,叠加促销,我们本身就了解其大概流程。

​ B端的流程,一般来说,更复杂些,或者说,业务属性更强,比如我之前做ERP相关的系统,需要了解整个公司的全部业务流程,个性化也很多,如果从来没了解过的人,上来就会很懵。

​ 本文会详细讲解下结算相关的模块,希望能够尽可能讲解清楚。

在这里插入图片描述

数据来源:

​ 结算的数据全部来自于计费的数据,可以理解为,计费的数据范围要大于结算数据,我们按照天维度或者月维度,进行数据的汇总,维度为商家ID+账期。

​ 也就是说,一个商家,在一个账期下只有一个结算单,明细体现在结算单的明细上。

​ 计算单的明细,也要进行二次汇总,比如按照规则类型,不同的规则,进行汇总,能够使用户,能够更清晰的了解数据。

​ 第三层为非聚合的明细,能够让商家自己查询具体的明细,可以进行数据验证和对账。

发放途径:豆+现金

​ 当前,能够支持豆和现金的发放,豆的方法依赖于豆系统的能力,我们需要通过商家id,去拿到豆账户,去豆账户发放

​ 现金,我们于支付系统交互,进行现金的支付或者扣除。

基础数据配置:

​ 分成比例:商家和门店,可以设置分摊的比例,由商家自行设置。

​ 钱包绑定: 一般情况下,需要商家进行钱包绑定,钱优先发放到商家的钱包里

异常场景:

​ 比如,我们要给商家或者门店进行扣除佣金,那么如果商家钱包里没有余额,且没有豆可以扣除。

​ 如果商家和门店还与我们合作,则可以进行金额的结转,结转到下个月,与下个月的佣金进行合并结算。

​ 如果商家与门店不再与我们合作,则需要通过罚款/抵扣质保金的方式,进行结算单金额的追回,避免造成损失。


http://www.kler.cn/a/421423.html

相关文章:

  • 深入探索 HarmonyOS 的 Navigation 组件:灵活的页面管理与动态导航
  • 【C语言】递归的内存占用过程
  • android-studio开发第一个项目,并在设备上调试
  • Python 3 教程第33篇(MySQL - mysql-connector 驱动)
  • PostgreSQL17.x创建数据库及数据库信息查看命令
  • Python 3 教程第13篇(集合)
  • SpringBoot+MyBatis整合ClickHouse实践
  • Robot Screw Theory (Product of Exponentials)机器人螺旋理论(指数积)
  • 鸿蒙Next学习-webview原生与JS交互通信
  • 你听说过MIPS吗?它和ARM有何区别?
  • 2023年第十四届蓝桥杯Scratch国赛真题—推箱子
  • 如何解决 java.rmi.AlreadyBoundException: 已绑定异常问题?亲测有效的解决方法!
  • [C++设计模式] 为什么需要设计模式?
  • C++入门一
  • P3916 图的遍历(Tarjan缩点和反向建边)
  • 模拟实现单链表 —— SingleLinkedList
  • C++:特殊类设计及类型转换
  • 动捕丨数字人丨AIGC实训室方案:赋能高校数字化复合型人才培养
  • Scala正则表达式03
  • ESP32项目 --- 智能门锁(WiFi 蓝牙 OTA)
  • 《Vue零基础入门教程》第十七课:侦听器
  • SQLite:DDL(数据定义语言)的基本用法
  • echarts的双X轴,父级居中的相关配置
  • 如何参加华为欧拉考试?
  • 安装战网的时候提示“缺失libcef.dll”怎么办?libcef.dll文件丢失是什么原因?教你六大解决方法
  • Cad c#二次开发 常见错误