论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
票据系统设计
票据系统设计
吴旭华
论坛元老
|
2023-2-28 17:45:37
|
显示全部楼层
|
阅读模式
楼主
主题
1918
|
帖子
1918
|
积分
5754
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
最近做票据系统,在此做一个总结。下面从几个关键点逐一来阐述。
1. 库存
通俗地讲,票据系统的主要功能是出票、买票、卖票。买卖双方之间的交易就形成了票据的流转。这个过程中,票是最关键的元素。票据库存是整个票据系统的核心,所有业务最终都是对库存进行操作。对应有出库、入库操作。
交易类的库存操作是在结算完成后进行处理的,结算完成后通知交易双方然后各自处理自己的库存;
非交易业务的库存是在对方应答成功后进行的,首先是对方应答同意后处理,然后是本方收到对方应答同意后处理;
针对库存有几张关键的表设计:
(1)票据主表:主要是存储票据中不变的一些信息,比如票号、票据类型、出票日期、承兑日期、到期日、出票人、承兑人、收票人等等
(2)票据子表:存储变化的部分,比如票号、子票区间、票据金额、持票人、票据状态、流通状态、库存状态、拆分状态等等
(3)票据交易表:记录所有对票据的的操作行为
(4)应收/应付表:这个主要是挑票用的,维护着谁持有哪些票据,因为有类似质押的行为存在,所以不能跟票据子表合并。这个表相当于是企业的个人记账本。主要字段有票号、子票区间、票据金额、可用余额、本方企业信息、对方企业信息、前手人信息、票据状态等等
(5)票据背面表:主要用于展示票据背面信息
(6)加锁表:用于业务操作期间对票据加锁
2. 拆票
电票是可以拆分的,持票人在办理票据背书、贴现、保证、质押等业务时,可依实际业务需要,将持有票据包按实际支付金额分包流转使用。
在发送请求后,收到确认报文后进行拆分。拆票就是把一张票变成两张票。
反映到表上就是原来票据字表中的一条未拆分的记录,拆分后新增了两条,总共变成三条记录
假设原票据金额是10元,子票区间是0.01~10,再假设交易金额是2元,那么首先将这个2元的拆出来,即它的子票区间是0.01~2
应收表中相应票据也需要做同样的拆分
以上拆票逻辑同意适用于其它类似的凭证拆分流转
3. 服务划分
主要微服务:
票据服务:主要是各个业务数据,比如出票、背书、贴现、交易等等
库存服务:票据的流转
企业服务:企业信息、企业账户、企业账户等等
票交所服务:主要是与票交所交互,收发报文
第三方:数据推送第三方
指令服务:业务与票交所交互的桥梁
下面以质押为例描述整个过程中库存是如何变化的
1、A(出质人)申请将票据质押给B(质权人),首先保存申请信息,并提交审批,并对被质押的票据加锁
2、审批通过后,发送质押申请报文
3、收到确认报文后,更新票据状态,检查是否需要拆票,如有完成拆票动作
4、B应答同意,收到确认报文后,更新库存。首先,修改票据状态已收票,然后生成入库交易记录,进行入库操作(即向自己的应收表中新增一条票据记录)
5、A收到B应答同意报文后,更新自己的库存。首先,票据解锁,然后更新票据状态已质押,生成交易,更新自己的应收票据表
6、以上在库存操作时还会生成统计数据,并更新票据背面
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
吴旭华
论坛元老
这个人很懒什么都没写!
楼主热帖
【云原生】第二篇--容器管理工具 Docke ...
mamba-ssm安装building wheel卡着不动 ...
数据库系统课程设计(高校成绩管理数据 ...
《原CSharp》第二回 巧习得元素分类 子 ...
使用TrueNas(FreeNas)进行华为手机备 ...
JVM虚拟机性能监控与故障处理工具(3) ...
java中==和equals区别
Spark 总复习
【图论】—— 有向图的强连通分量 ...
Docker命令实战
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表