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

news2024/12/4 14:44:58

背景

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

模块划分

在这里插入图片描述

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

规则平台

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

计费平台

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

结算平台

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

全景图

系统内部业务流转图

在这里插入图片描述

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

业务架构图

在这里插入图片描述

核心部分讲解

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

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

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

在这里插入图片描述

数据来源:

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

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

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

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

发放途径:豆+现金

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

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

基础数据配置:

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

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

异常场景:

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2253091.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智障(5)

今天kimi把我气疯了,你们看原对话: 月之暗面最近在搞什么,不仅算力慢,而且回答离谱的要死,难道换老板了?

Python爬虫——城市数据分析与市场潜能计算(Pandas库)

使用Python进行城市市场潜能分析 简介 本教程将指导您如何使用Python和Pandas库来处理城市数据,包括GDP、面积和城市间距离。我们将计算每个城市的市场潜能,这有助于了解各城市的经济影响力。 步骤 1: 准备环境 确保您的环境中安装了Python和以下库&…

Python毕业设计选题:基于Flask的医疗预约与诊断系统

开发语言:Python框架:flaskPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 系统首页 疾病信息 就诊信息 个人中心 管理员登录界面 管理员功能界面 用户界面 医生…

Android 图形系统之二:ViewRootImpl

ViewRootImpl简介 ViewRootImpl 是 Android UI 系统的核心类之一,负责将 View 层级树与窗口管理器 WindowManager 联系起来。它是Android 应用视图的根节点,与 WindowManager 结合,实现视图的绘制、事件分发、窗口更新等功能。虽然 ViewRoot…

python通过ODBC连接神通数据库

1、安装神通数据库 2、安装python 3、安装pyodbc pip3 install pyodbc-5.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 注:pyodbc要和python版本相对应 4、安装unixodbc 5、配置神通数据库ODBC数据源 6、示例代码如下 #!/usr/bin/python…

基于单片机的智能药箱设计

本设计主要由红外检测传感器、显示、独立按键、舵机、语音以及短信等模块组成。红外传感器模块主要对药仓中的药物数据进行采集,采集完毕由主控制器进行数据加工,之后可传送至显示模块上进行显示,在显示模块也可对显示时间、吃药倒计时、吃药…

【掩体计划——DFS+缩点】

题目 代码 #include <bits/stdc.h> using namespace std; const int N 1e5 10; vector<vector<int>> g; bool st[N]; int ans 1e9; bool dfs(int f, int u, int dis) {bool is 1;for (auto j : g[u]){if (j f)continue;is & dfs(u, j, dis (g[u].…

无人机点云处理算法技术解析!

一、核心技术 数据预处理&#xff1a; 数据预处理是点云处理的第一步&#xff0c;主要包括滤波、去噪、数据压缩等。滤波技术可以去除点云数据中的噪声和孤立点&#xff0c;提高数据质量。常用的滤波方法包括双边滤波、高斯滤波等。 数据压缩则用于减少数据量&#xff0c;提…

Android13 允许桌面自动旋转

一&#xff09;需求-场景 Android13 实现允许桌面自动旋转 Android13 版本开始后&#xff0c;支持屏幕自动旋转&#xff0c;优化体验和兼容性&#xff0c;适配不同屏幕 主界面可自动旋转 二&#xff09;参考资料 android framework13-launcher3【06手机旋转问题】 Launcher默…

vue+uniapp+echarts的使用(H5环境下echarts)

1.安装 npm install echarts4.9.0 --save // 带版本号 2.main.js中全局引用 // import echarts from echarts // 如果是5.0以上版本用这个 import * as echarts from echarts Vue.prototype.$echartsecharts 3.使用 <template><view id"box" style"w…

探索仓颉编程语言:官网上线,在线体验与版本下载全面启航

文章目录 每日一句正能量前言什么是仓颉编程语言仓颉编程语言的来历如何使用仓颉编程语言在线版本版本下载后记 每日一句正能量 当你被孤独感驱使着去寻找远离孤独的方法时&#xff0c;会处于一种非常可怕的状态。因为无法和自己相处的人也很难和别人相处&#xff0c;无法和别人…

【Elasticsearch】Docker安装和基本概念

1. Docker安装ES 拉取es镜像 docker pull elasticsearch:8.5.3 创建网络 docker network create oj-network 启动es docker run -d --name oj-es-dev -e "ES_JAVA_OPTS-Xms256m -Xmx256m" -e "discovery.typesingle-node" -v D:\javacode\oj-byte\depl…

基于Java Springboot环境保护生活App且微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…

[SWPUCTF 2021 新生赛]gif好像有点大

[SWPUCTF 2021 新生赛]gif好像有点大 帧解一下 找到这个二维码用软件CQR解开一下 得到flag NSSCTF{The_G1F_ls_T00_b1g} [BJDCTF 2020]base?? 给了我们base64加密的密文 用python直接解密 import base64 dict{0: J, 1: K, 2: L, 3: M, 4: N, 5: O, 6: x, 7: y, 8: U, 9: …

Unity类银河战士恶魔城学习总结(P156 Audio Settings音频设置)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了音频的大小设置与保存加载 音频管理器 UI_VolumeSlider.cs 定义了 UI_VolumeSlider 类&#xff0c;用于处理与音频设置相关的…

【Java从入门到放弃 之 类加载器】

类加载器 ClassLoader 类加载器动态加载类的两种方式类加载过程双亲委派模型特点类加载器层次结构 自定义类加载器总结 类加载器 类加载器负责将Java字节码文件&#xff08;.class文件&#xff09;动态加载到内存中&#xff0c;并将其转化为JVM可以执行的类对象。它是Java运行…

华为HarmonyOS 让应用快速拥有账号能力 -- 1 华为账号一键登录

概述 华为账号一键登录是基于OAuth 2.0协议标准和OpenID Connect协议标准构建的OAuth2.0 授权登录系统&#xff0c;应用可以通过华为账号一键登录能力方便地获取华为账号用户的身份标识和手机号&#xff0c;快速建立应用内的用户体系。 优势&#xff1a; 利用系统账号的安全…

高效数据分析:五款报表工具助力企业智能决策

概述 报表工具是企业进行数据分析、展示和决策支持的核心工具之一。本文将为大家介绍五款各具特色的报表工具&#xff0c;包括国产的山海鲸报表、FineReport&#xff0c;以及国际工具Databox、Pentaho Reporting和Zoho Analytics。通过详细分析它们的功能特点、优势和不足&…

生态环境一体化智慧监管平台

在数字化和智能化的浪潮中&#xff0c;生态环境保护与治理正迎来革命性的变化。生态环境一体化智慧监管平台的建设&#xff0c;不仅响应了这一趋势&#xff0c;而且为中国式现代化的生态治理提供了新的解决方案。本文将深度分析该平台的建设内容&#xff0c;探讨其在推动生态文…

基于PyTorch框架的线性回归实现指南

目录 ​编辑 1. 线性回归基础 2. PyTorch环境搭建 3. 数据准备 4. 定义线性回归模型 5. 损失函数和优化器 6. 训练模型 7. 评估模型 8. 结论 线性回归是统计学和机器学习中最基本的预测模型之一&#xff0c;它试图找到输入特征和输出结果之间的线性关系。在深度学习框…