掌桥专利:专业的专利平台
掌桥专利
首页

记账方法、终端以及存储介质

文献发布时间:2023-06-19 18:46:07


记账方法、终端以及存储介质

技术领域

本发明涉及金融技术领域,尤其涉及一种记账方法、终端以及存储介质。

背景技术

目前很多系统都涉及到支付、充值、转账等涉及账户余额增减的功能,尤其在支付、金融领域。一般的形式是通过业务系统进行相关的订单操作和状态变化再触发账户余额的增减。

然而,记账场景逐渐变得多元化,不同的记账场景需要采取的记账方式不同,目前很多公司对不同记账场景下的处理并没有一个统一的框架实现,而是针对具体的记账场景选择不同的记账工具以生成相应的子流水,而子流水的生产只是业务逻辑处理的一个环节,生成子流水后,还需要将相关的主流水、子流水发送至对应的业务微服务对象对接以进行贷方入账检查、借贷服务、冲正等处理,耗时长,且难以保持整个记账流程事物的一致性。

发明内容

为了克服现有技术的不足,本发明提出一种记账方法、终端以及存储介质,在接收到业务微服务对象上送的记账请求后,根据该记账请求获取记账场景,生成相应的主流水、子流水,并在流水生成后,利用子流水中的交易编码调用回调接口进行相应的交易处理,从而在确保整个记账流程事务一致性以及对不同记账场景的支持下,加强了对每个记账子流程的把控,提高了记账流程的准确性、可控性,极大适应了多场景化记账的发展趋势。

为解决上述问题,本发明采用的一个技术方案为:一种记账方法,所述记账方法包括:S101:接收上送的记账请求,基于记账请求对应的记账场景构建主流水、子流水,所述子流水包括交易编码;S102:调用记账引擎分布式记账,基于所述交易编码调用业务微服务对象的回调接口进行贷方入账检查,并在检查结束后,调用检查结果对应的回调接口进行借贷服务或冲正。

进一步地,所述基于记账请求对应的记账场景构建主流水、子流水的步骤具体包括:根据所述记账请求中的交易金额组建主流水,并在主流水组建后,通过记账请求对应的记账场景构建子流水,所述主流水包括主流水编号、交易机构、交易柜员、交易金额、手续费、事件编号。

进一步地,所述通过记账请求对应的记账场景构建子流水的步骤具体包括:根据记账请求判断记账场景是否为有账号的场景;若是,则基于记账请求、记账场景选择科目记账子流水、费用记账子流水中的一个构建子流水;若否,则基于记账请求、记账场景选择销账子流水、现金管理结息子流水、手续费转账/现金子流水、通用记账子流水中的一个构建子流水。

进一步地,所述根据记账请求判断记账场景是否为有账号的场景的步骤具体包括:根据所述记账请求是否包括映射内部户的入参要求;若是,则确定为有账户的查询根据记账请求中的要素信息进行账户查询;若否,则在通过记账请求确定科目代码不为空或交易账户为空且不需要映射内部户时,确定为无账户的场景。

进一步地,所述基于记账请求、记账场景选择科目记账子流水、费用记账子流水中的一个构建子流水的步骤具体包括:基于所述记账请求确定记账场景为交易类型存在场景、允许冲正场景、科目记账场景时,构建科目记账子流水;基于所述记账请求确定记账场景为交易类型存在场景、允许冲正场景、费用记账场景时,构建费用记账子流水。

进一步地,所述基于记账请求、记账场景选择销账子流水、现金管理结息子流水、手续费转账/现金子流水、通用记账子流水中的一个构建子流水的步骤具体包括:根据记账请求确定记账场景为交易类型存在场景后,根据允许销账场景、现金记账场景、费用记账场景分别构建销账子流水、现金管理结息子流水、手续费转账/现金子流水,并在确定记账场景为非费用记账场景时,构建通用记账子流水。

进一步地,所述调用检查结果对应的回调接口进行借贷服务或冲正的步骤具体包括:根据检查结果判断是否发生异常;若是,则获取记账顺序,基于所述记账顺序进行冲正;若否,则根据业务微服务对象的回调接口执行借方扣款、贷方入账操作。

进一步地,所述根据业务微服务对象的回调接口执行借方扣款、贷方入账操作的步骤之后还包括:基于借贷服务的信息更新交易状态,并通过所述业务微服务对象向渠道返回响应结果。

基于相同的发明构思,本发明还提出一种智能终端,所述智能终端包括处理器、存储器,所述处理器与所述存储器通信连接,所述存储器存储有计算机程序,所述处理器通过所述计算机程序执行如上所述的记账方法。

基于相同的发明构思,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有程序数据,所述程序数据被用于执行如上所述的记账方法。

相比现有技术,本发明的有益效果在于:在接收到业务微服务对象上送的记账请求后,根据该记账请求获取记账场景,生成相应的主流水、子流水,并在流水生成后,利用子流水中的交易编码调用回调接口进行相应的交易处理,从而在确保整个记账流程事务一致性以及对不同记账场景的支持下,加强了对每个记账子流程的把控,提高了记账流程的准确性、可控性,极大适应了多场景化记账的发展趋势。

附图说明

图1为本发明记账方法一实施例的流程图;

图2为本发明记账方法中内部账户映射关系一实施例的示意图;

图3为本发明记账方法中代码处理流程一实施例的示意图;

图4为本发明记账方法中正常记账流程一实施例的示意图;

图5为本发明记账方法中中异常记账流程一实施例的示意图;

图6为本发明智能终端一实施例的结构图;

图7为本发明计算机可读存储介质一实施例的结构图。

具体实施方式

以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,通常在此处附图中描述和示出的各本公开实施例在不冲突的前提下,可相互组合,其中的结构部件或功能模块可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。

在本申请公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数生式的“一种”、“所述”和“该”也旨在包括多数生式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

请参阅图1-图5,其中,图1为本发明记账方法一实施例的流程图;图2为本发明记账方法中内部账户映射关系一实施例的示意图;图3为本发明记账方法中代码处理流程一实施例的示意图;图4为本发明记账方法中正常记账流程一实施例的示意图;图5为本发明记账方法中中异常记账流程一实施例的示意图。结合图1-图5对本发明的记账方法进行说明。

在本实施例中,执行记账方法的设备可以为手机、电脑、服务器以及其他能够参与记账处理的智能终端。其中,该智能终端执行的记账方法包括:

S101:接收上送的记账请求,基于记账请求对应的记账场景构建主流水、子流水,子流水包括交易编码。

在本实施例中,业务微服务对象为各个独立的服务对象,这些服务对象为金融交易中与记账事务相关的各个对象,各个对象彼此间独立运行,通过rpc(远程过程调用)方式进行互相调用以实现记账方法。

在一个实施例中,业务微服务对象在接收到渠道发起的记账请求后,根据记账请求得到记账相关的基本参数,其中,该基本参数包括主流水、子流水、描述系统信息的系统头、应用头等信息,其中,系统头包括交易日期、渠道流水号、柜员标识等信息;应用头主要包括一些分页条件,比如总页数、汇总标志等信息。

基于记账请求对应的记账场景构建主流水、子流水的步骤具体包括:根据记账请求中的交易金额组建主流水,并在主流水组建后,通过记账请求对应的记账场景构建子流水,主流水包括主流水编号、交易机构、交易柜员、交易金额、手续费、事件编号。

在一个具体的实施例中,根据上送的交易金额组建通用记账主流水,其中,主流水指主交易信息,包括主流水编号(主流水编号唯一标识了此次渠道发起的记账请求,统筹了主流水及其对应的子流水,便于后续排查问题)、交易机构、交易柜员、交易金额、手续费、事件编号(描述贷方或借方)等信息。并且基于记账场景构建的子流水包括主流水编号、交易类型详细信息,交易编码值,通过识别交易编码值的方式确定对应的业务微服务对象的回调逻辑。

其中,通过记账请求对应的记账场景构建子流水的步骤具体包括:根据记账请求判断记账场景是否为有账号的场景;若是,则基于记账请求、记账场景选择科目记账子流水、费用记账子流水中的一个构建子流水;若否,则基于记账请求、记账场景选择销账子流水、现金管理结息子流水、手续费转账/现金子流水、通用记账子流水中的一个构建子流水。

在一个实施例中,根据记账请求判断记账场景是否为有账号的场景的步骤具体包括:根据记账请求是否包括映射内部户的入参要求;若是,则确定为有账户的查询根据记账请求中的要素信息进行账户查询;若否,则在通过记账请求确定科目代码不为空或交易账户为空且不需要映射内部户时,确定为无账户的场景。

在本实施例中,要素信息包括渠道、交易类型、机构、币种,相比于使用业务编码映射内部账户的方式,利用这些要素信息映射内部账户的方式更加适应不同记账场景。

在获取渠道上送的映射内部账户的入参要求后,根据该要素信息查询内部账户映射表,如果能够查询到,则确认有账号,执行后续的记账方法;若未查询到,则进行报错,停止执行后续的记账方法。如果根据记账请求确定上送的科目代码不为空,或者交易账号为空且不需映射内部户,此时视为无账号的场景。依托渠道、外围交易类型、机构、币种四要素与内部账户的映射关系,将通用记账功能与记账场景灵活紧密地结合起来,支持不同记账场景记不同账号,且实现了核算交易类型与外围交易类型解耦,减少依赖。

在本实施例中,通过记账场景判断的方式得到本次记账所在的记账场景,根据该记账场景进行记账。其中,基于记账请求、记账场景选择科目记账子流水、费用记账子流水中的一个构建子流水的步骤具体包括:基于记账请求确定记账场景为交易类型存在场景、允许冲正场景、科目记账场景时,构建科目记账子流水;基于记账请求确定记账场景为交易类型存在场景、允许冲正场景、费用记账场景时,构建费用记账子流水。

基于记账请求、记账场景选择销账子流水、现金管理结息子流水、手续费转账/现金子流水、通用记账子流水中的一个构建子流水的步骤具体包括:根据记账请求确定记账场景为交易类型存在场景后,根据允许销账场景、现金记账场景、费用记账场景分别构建销账子流水、现金管理结息子流水、手续费转账/现金子流水,并在确定记账场景为非费用记账场景时,构建通用记账子流水。

具体的,通过查询预设的数据库中是否存在上送的交易类型来判断是否为交易类型场景,若存在上送的交易类型,则确定为交易类型存在场景,若不存在,则报错。

如果根据记账请求确定渠道上送了销账序号,则确定上送的销账序号不为空则为需要销账,构建销账子流水。在构建销账子流水时,首先更新挂账登记簿余额和状态。其次,登记销账登记簿。最后,根据渠道、交易类型、机构、币种四要素映射的内部账户账号、主流水编号、交易类型信息,交易编码值等信息维护对应的销账子流水。

如果根据记账请求确定渠道类型为CM(现金管理),确定为现管记账,构建现金管理结息子流水。

如果根据记账请求确定上送的费率类型不为空,确定为费用记账,构建手续费转账/现金子流水。并且在上送的费率类型为空时,构建通用记账子流水。

如果根据记账请求确定交易类型存在,在该交易类型的是否冲正标志为是时,报错。若是否冲正标志为否,则根据记账请求判断上送的科目代码是否为空。若不为空,且费率类型为空,则构建科目记账子流水。在科目代码为空、费率类型不为空时,构建费用记账子流水。

S102:调用记账引擎分布式记账,基于交易编码调用业务微服务对象的回调接口进行贷方入账检查,并在检查结束后,调用检查结果对应的回调接口进行借贷服务或冲正。

在本实施例中,根据上送的记账请求组建主流水、子流水后,调用记账引擎进行分布式记账。并在记录交易流水后,调用业务微服务对象的回调接口进行贷方入账检查,通过后同样以回调方式调用业务微服务对象的回调接口完成记账的后续流程。具体的,记账引擎为tae引擎。

在本实施例中,在调用记账引擎前,业务微服务对象提供的回调接口包括:贷方检查接口:供记账前检查入账账户,防止后续记账出错;记账接口:调用方提供记账接口,完成记账逻辑;冲正接口:当记账失败后,调用方提供冲正接口进行反向冲正。通过不同业务微服务对象提供的回调接口实现不同微服务对象自行实现记账/冲正/查证等逻辑,记账引擎只需通过rpc调用对方的回调接口,即可满足不同的记账场景。

其中,调用检查结果对应的回调接口进行借贷服务或冲正的步骤具体包括:根据检查结果判断是否发生异常;若是,则获取记账顺序,基于记账顺序进行冲正;若否,则根据业务微服务对象的回调接口执行借方扣款、贷方入账操作。

在一个具体的实施例中,业务微服务对象根据渠道上送的记账请求组织基本参数(基本参数包括:记账的主/子流水、描述调用系统信息的系统头、应用头。其中系统头包括交易日期、渠道流水号、柜员标识等信息;应用头主要包括一些分页条件,比如总页数、汇总标志等信息)后,调用tae引擎进行分布式记账。tae引擎记录交易流水后,调用业务微服务对象的回调接口进行贷方入账检查,通过检查后同样以回调方式调用业务微服务对象完成借方扣款、贷方入账。借贷方都处理完毕后,tae引擎更新本地交易流水状态,并返回业务微服务记账成功。最终组织响应报文给渠道系统。其中,通过登记tae交易信息表的方式实现更新本地交易流水状态。

在另一个具体的实施例中,业务微服务对象根据渠道上送的记账请求组织基本参数,调用tae引擎进行分布式记账,tae引擎记录交易流水后,调用业务微服务对象的回调接口进行贷方入账检查。若未通过检查发生异常后,根据记账的顺序进行冲正。其中,若主子流水按照先借后贷的顺序依次记账,确定发生异常后,判断是否基于外围顺序记账,若是,则完全按照外围上送的顺序冲正。如果不是,则严格按照先冲贷方,后冲借方。若是基于业务上送子流水顺序依次记账,发生异常后,按照倒序方式(子流水的子流水序号倒序排序)依次进行冲正。可以看到,记账异常后,tae引擎补偿机制均参照SAGA的向后补偿机制进行冲正。

基于相同的发明构思,本发明还提出一种智能终端,请参阅图6,图6为本发明智能终端一实施例的结构图,结合图6对本发明的智能终端进行具体说明。

在本实施例中,智能终端包括处理器、存储器,所述处理器与所述存储器通信连接,所述存储器存储有计算机程序,所述处理器通过计算机程序执行如上述实施例所述的记账方法。

在一些实施例中,存储器可能包括但不限于高速随机存取存储器、非易失性存储器。例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程功能器件、分立门或者晶体管功能器件、分立硬件组件。

基于相同的发明构思,本发明还提出一种计算机可读存储介质,请参阅图7,图7为本发明计算机可读存储介质一实施例的结构图,结合图7对本发明的计算机可读存储介质进行说明。

在本实施例中,计算机可读存储介质存储有程序数据,程序数据被用于执行如上述实施例所述的记账方法。

其中,计算机可读存储介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘-只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存或适于存储机器可执行指令的其他类型的介质/机器可读介质。该计算机可读存储介质可以是未接入计算机设备的产品,也可以是已接入计算机设备使用的部件。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120115686708