System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理领域,尤其涉及一种基于指令状态机的重新划款方法及装置。
技术介绍
1、销售人向投资人结算账号发起划款时,资金有可能未能真正到达投资者银行卡,对于网络抖动一类的问题,可以采取直接重发的解决方式,每日依旧能够顺利完成平账。但对于客户银行卡异常或销卡等特殊情况,则简单的重新划款无法解决问题。
2、现有技术的通用方案是重新打款时生成新指令,并通过原通道继续打款;如原通道出现异常不可用,则只能通过线下登录网银进行划款。这样做存在如下几个缺点:一是无法按照路由规则切换到其它可用通道,结算划款业务无法继续在本系统内闭环处理,容易引入不必要的业务风险;二是如若引入线下划款的方式,则会导致该笔待划款的原始资金数据在系统内无法与真实的支付划款关联回溯,为后续监管/复盘带来隐患。
技术实现思路
1、本专利技术实施例提供一种基于指令状态机的重新划款方法及装置,通过指令状态机记录并控制指令状态的自动跳转,解决了上述问题。
2、为实现上述目的,本申请实施例的第一方面提供了一种基于指令状态机的重新划款方法,包括:
3、获取指令划付后第一当前指令的指令状态,若所述第一当前指令的指令状态或者资金划付情况满足预设的划款退回条件,根据退回路由进行划款退回;
4、根据所述第一当前指令的指令状态、指令动作及触发条件,在指令状态机中获取所述第一当前指令的下一跳指令状态;
5、载入新的第二当前指令,根据所述第一当前指令的下一跳指令状态更新所述第一
6、根据所述重新支付关系生成重新支付指令并进行重新支付。
7、在第一方面的一种可能的实现方式中,所述第一当前指令的指令状态或者资金划付情况满足预设的划款退回条件,具体包括:
8、所述第一当前指令处于划付失败状态;或者,
9、所述第一当前指令处于已划付状态且持续时间超过时间阈值;或者,
10、资金划付到客户账号时出现错误。
11、在第一方面的一种可能的实现方式中,所述根据退回路由进行划款退回,具体包括:
12、根据划款退回命令的退回路由,更新资金结算方式;
13、根据所述资金结算方式对应的账户编号和结算渠道进行划款退回。
14、在第一方面的一种可能的实现方式中,所述根据所述第一当前指令的指令状态、指令动作及触发条件,在指令状态机中获取所述第一当前指令的下一跳指令状态,具体包括:
15、将所述第一当前指令的指令状态、指令动作为划款退回以及触发条件为空输入指令状态机,在指令状态机中获取所述第一当前指令的下一跳状态。
16、在第一方面的一种可能的实现方式中,所述载入新的第二当前指令,根据所述第一当前指令的下一跳指令状态更新所述第一当前指令的指令信息,根据所述第一当前指令的指令信息记录所述第一当前指令与所述第二当前指令的重新支付关系,具体包括:
17、根据所述第一当前指令,生成第一流水号并封装相应的资金流水数据;
18、将所述第一当前指令的下一跳状态更新为所述第一当前指令的指令状态;
19、载入新的第二当前指令;
20、若所述第二当前指令为重新支付所生成的指令,根据所述第一当前指令的指令信息记录所述第一当前指令与所述第二当前指令的重新支付关系。
21、在第一方面的一种可能的实现方式中,所述根据所述第一当前指令的指令信息记录所述第一当前指令与所述第二当前指令的重新支付关系,具体包括:
22、建立所述第一当前指令与所述第二当前指令的重新支付关系表,并根据所述第一当前指令的指令状态、所述第一当前指令的指令单号、所述第二当前指令的指令状态和所述第一流水号更新所述重新支付关系表中的各自表格项内容。
23、在第一方面的一种可能的实现方式中,所述根据所述重新支付关系生成重新支付指令并进行重新支付,具体包括:
24、根据所述重新支付关系和客户预留的银行信息生成第二流水号并封装重新支付流水;
25、根据所述第二流水号获取清算银行账户信息并装载待交收流水与交收指令;
26、根据所述待交收流水与交收指令生成重新支付指令,获取限额后生成重新支付流水;
27、更新所述重新支付关系和更新所述第一当前指令的指令状态,对所述重新支付指令进行划付。
28、在第一方面的一种可能的实现方式中,所述更新所述重新支付关系和更新所述第一当前指令的指令状态,具体包括:
29、在所述第一当前指令与所述第二当前指令的重新支付关系表中更新所述第二流水号和所述重新支付指令对应单号的各自表格项内容;
30、将所述第一当前指令的指令状态、指令动作为重新支付以及触发条件为空输入指令状态机,在指令状态机中获取所述第一当前指令的结束状态,将所述第一当前指令的结束状态更新为所述第一当前指令的指令状态。
31、在第一方面的一种可能的实现方式中,所述根据所述第二流水号获取清算银行账户信息并装载待交收流水与交收指令之前,还包括:
32、对所述清算银行账户信息并装载待交收流水与交收指令进行幂等检查。
33、本申请实施例的第二方面提供了一种基于指令状态机的重新划款装置,包括:
34、划款退回模块,用于获取指令划付后第一当前指令的指令状态,若所述第一当前指令的指令状态或者资金划付情况满足预设的划款退回条件,根据退回路由进行划款退回;
35、状态获取模块,用于根据所述第一当前指令的指令状态、指令动作及触发条件,在指令状态机中获取所述第一当前指令的下一跳指令状态;
36、记录模块,用于载入新的第二当前指令,根据所述第一当前指令的下一跳指令状态更新所述第一当前指令的指令信息,根据所述第一当前指令的指令信息记录所述第一当前指令与所述第二当前指令的重新支付关系;
37、重新支付模块,用于根据所述重新支付关系生成重新支付指令并进行重新支付。
38、相比于现有技术,本专利技术实施例提供的一种基于指令状态机的重新划款方法及装置,根据所述第一当前指令的下一跳指令状态更新所述第一当前指令的指令信息,若所述第一当前指令(原指令)与所述第二当前指令(新指令)存在重新支付关系,将所述重新支付关系记录下来,通过指令状态机记录下每个指令每次打款的情况,在执行多次划款的情况下,原始资金数据与每一次支付划款流水均可通过重新支付关系进行路由回溯,保证了每次划款动作记录的准确性。
本文档来自技高网...【技术保护点】
1.一种基于指令状态机的重新划款方法,其特征在于,包括:
2.如权利要求1所述基于指令状态机的重新划款方法,其特征在于,所述第一当前指令的指令状态或者资金划付情况满足预设的划款退回条件,具体包括:
3.如权利要求1所述基于指令状态机的重新划款方法,其特征在于,所述根据退回路由进行划款退回,具体包括:
4.如权利要求1所述基于指令状态机的重新划款方法,其特征在于,所述根据所述第一当前指令的指令状态、指令动作及触发条件,在指令状态机中获取所述第一当前指令的下一跳指令状态,具体包括:
5.如权利要求1所述基于指令状态机的重新划款方法,其特征在于,所述载入新的第二当前指令,根据所述第一当前指令的下一跳指令状态更新所述第一当前指令的指令信息,根据所述第一当前指令的指令信息记录所述第一当前指令与所述第二当前指令的重新支付关系,具体包括:
6.如权利要求5所述基于指令状态机的重新划款方法,其特征在于,所述根据所述第一当前指令的指令信息记录所述第一当前指令与所述第二当前指令的重新支付关系,具体包括:
7.如权利要求1所述基于
8.如权利要求7所述基于指令状态机的重新划款方法,其特征在于,所述更新所述重新支付关系和更新所述第一当前指令的指令状态,具体包括:
9.如权利要求7所述基于指令状态机的重新划款方法,其特征在于,所述根据所述第二流水号获取清算银行账户信息并装载待交收流水与交收指令之前,还包括:
10.一种基于指令状态机的重新划款装置,其特征在于,包括:
...【技术特征摘要】
1.一种基于指令状态机的重新划款方法,其特征在于,包括:
2.如权利要求1所述基于指令状态机的重新划款方法,其特征在于,所述第一当前指令的指令状态或者资金划付情况满足预设的划款退回条件,具体包括:
3.如权利要求1所述基于指令状态机的重新划款方法,其特征在于,所述根据退回路由进行划款退回,具体包括:
4.如权利要求1所述基于指令状态机的重新划款方法,其特征在于,所述根据所述第一当前指令的指令状态、指令动作及触发条件,在指令状态机中获取所述第一当前指令的下一跳指令状态,具体包括:
5.如权利要求1所述基于指令状态机的重新划款方法,其特征在于,所述载入新的第二当前指令,根据所述第一当前指令的下一跳指令状态更新所述第一当前指令的指令信息,根据所述第一当前指令的指令信息记录所述第一当前指...
【专利技术属性】
技术研发人员:谢多睿,陈丽园,唐永鹏,李明,黎祖月,郑伟成,
申请(专利权)人:易方达基金管理有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。