System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于信息,特别是涉及一种基于配置参数动态实现支付对账业务的方法。
技术介绍
1、在互联网行业中只要涉及到支付,必然就会有对账的需求,几乎所有互联网公司的业务中多多少少的都会涉及到支付,大一点的公司甚至都标配有了自己的第三方支付公司,因此对账具有普遍性,对账系统也是支付体系中最重要的一环,是保证交易、资金安全的最后一道防线。
2、但是,目前在文件对账时还拥有以下问题:
3、1、传统的文件对账,很多都是硬编码,配置参数直接写在项目代码中,参数变更或字段修改时,需要编写项目代码并重启服务,工作量大,安全性低。
4、2、多渠道对账的情况下,不同渠道的对账流程都是分开的,有几个渠道就要编码几个对账流程,导致代码大量冗余,后期不好维护。
技术实现思路
1、本专利技术主要解决的技术问题是提出一种智能、灵活、安全的对账技术,以方便对账流程的高可控性、高复用性及高安全性。
2、为解决上述技术问题,本专利技术采用的一个技术方案是:
3、一种基于配置参数动态实现支付对账业务的方法,包括以下步骤
4、s1):管理台添加配置信息;
5、s2):文件下载;
6、s3):文件解析;
7、s4):文件对账;
8、s5):文件生成。
9、进一步的,所述s1步骤中添加配置信息以下步骤:
10、s1-1):机构、渠道及柜台信息配置:一个机构可配置多个渠道,一个渠道可配
11、s1-2):渠道实现配置:配置文件下载的实现类名称及组名,通过实现类名称及组名可以找到具体的文件下载实现类;
12、s1-3):文件解析配置:设置文件解析字符集、文件内容分隔符、文件解析开始行,请求流水位置,银行流水位置、交易金额位置、交易金额单位、退款金额位置信息;
13、s1-4):模板关系配置:将步骤s1-3)中配置完成的文件解析模板和柜台信息相关联;
14、s1-5):展示列配置:配置新生成的对账文件的字段取值来源,包括配置表名,字段名,字段说明;
15、s1-6):数据配置:配置需要生成对账文件的各个渠道及配置的失效时间;
16、s1-7):sql配置:配置生成对账文件的数据查询sql;
17、s1-8):大类配置:配置展示列字段对应的字段编码及字段说明;
18、s1-9):定时任务配置:配置任务名称、任务组、corn表达式、组名、任务参数、任务状态。
19、进一步的,所述s2步骤在触发上述步骤s1-9)中的定时任务后,包括以下步骤:
20、s2-1):获取步骤s1-2)中配置文件下载的实现类名称及组名;
21、s2-2):通过实现类名称及组名将文件下载到临时路径下;
22、s2-3):利用压缩加密软件对上述步骤中临时路径下的文件进行解压缩及解密操作;
23、s2-4):完成上述步骤后发送kafka反馈信息。
24、进一步的,所述步骤3在接收到kafka发出的反馈信息后,包括以下步骤:
25、s3-1):判断文件是否已经处理;
26、s3-2):判断文件是否已经归档;
27、s3-3):文件信息入库;
28、s3-4):文件本地移动:将临时路径下的文件转移到历史文件路径下;
29、s3-5):文件解析:通过获取配置,取出文件中对应位置的字段转换成系统对账所需字段;
30、s3-6):文件内容落库;
31、s3-7):文件状态更新。
32、进一步的,所述s4步骤包括以下步骤:
33、s4-1):数据比对:将步骤3中获取的文件数据和实时业务数据进行比对;
34、s4-2):结果数据处理:将比对成功的数据落库;
35、s4-3):差异数据处理:将比对失败的数据落库;
36、s4-4):滚动对账处理:对账结果落库;
37、s4-5):再次发送kafka完成反馈消息。
38、进一步的,所述s5步骤在接收到步骤4中kafka发出的反馈信息后,包括以下步骤:
39、s5-1):获取配置信息:包括文件类型、上传方式、默认列;
40、s5-2):组装sql;
41、s5-3):判断文件夹是否存在;
42、s5-4):创建头文件;
43、s5-5):执行sql;
44、s5-6):统计交易金额及手续费并写入文件;
45、s5-7):生成ok文件。
46、进一步的,所述s1步骤中使用quartz模块进行任务管理服务,所述quartz模块还可以用于任务配置、任务修改、任务删除、任务立即执行、任务暂停、任务恢复、任务查询。
47、进一步的,所述s2步骤中对各个渠道的文件下载流程及具体逻辑实现通过bank模块实现。
48、进一步的,所述步骤3中对下载的对账文件进行数据是否已处理校验、数据解析、数据落库使用verify-center模块完成,所述verify-center模块还可以用于处理数据比对、成功数据处理、差异数据处理、滚动对账处理、对账结果落库。
49、进一步的,所述步骤5中对已经完成对账的数据通过merchantverify2模块配置sql及执行时间异步重新生成对账文件供下游系统使用。
50、本专利技术的有益效果:
51、1、传统代码都是将具体的对账逻辑进行硬编码,很多偏配置类的参数直接写死在代码中,如果要修改配置,必须重新编写代码,项目打包后重启服务才可生效,而本专利技术将大量的配置直接录入到管理台,服务动态获取,操作者可以直观的看到所有的配置信息,修改起来也很方便,不用重启服务,减少生产环境服务的人工操作次数,提高了生产安全性,同事也大大提高了用户体验,进而更方便,更安全。
52、2、本专利技术将公共业务逻辑抽离出来,运用工厂模式,装饰者模式等进行编码,redis缓存数据,生成流水及分布式锁操作,kafka消息中间件异步处理,大大减少了冗余代码,提高了代码的高可用性,性能更加,为后期系统维护升级提供了坚实保障。
53、3、传统代码都是将各个机构各个渠道的业务流程分开编码,减少代码的耦合性,但是大大提高了代码的重复度,不利于后期维护,本专利技术是将所有机构和渠道的对账流程写成公共的方法,各机构和渠道个性化的业务逻辑可继承公共抽象类进行方法重写,使每个机构和渠道的实现逻辑保持高度统一,通过redis做数据存储,减小关系型数据库压力,kafka异步处理业务流程,起到削峰填谷的作用,后续新增机构和渠道的代码开发量更少,开发人员更好维护。
本文档来自技高网...【技术保护点】
1.一种基于配置参数动态实现支付对账业务的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述S1步骤中添加配置信息以下步骤:
3.根据权利要求2所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述S2步骤在触发上述步骤S1-9)中的定时任务后,包括以下步骤:
4.根据权利要求3所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述步骤3在接收到KAFKA发出的反馈信息后,包括以下步骤:
5.根据权利要求4所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述S4步骤包括以下步骤:
6.根据权利要求5所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述S5步骤在接收到步骤4中KAFKA发出的反馈信息后,包括以下步骤:
7.根据权利要求1所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述S1步骤中使用quartz模块进行任务管理服务,所述quartz模块还可以用于任务配置、任务修
8.根据权利要求1所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述S2步骤中对各个渠道的文件下载流程及具体逻辑实现通过bank模块实现。
9.根据权利要求1所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述步骤3中对下载的对账文件进行数据是否已处理校验、数据解析、数据落库使用verify-center模块完成,所述verify-center模块还可以用于处理数据比对、成功数据处理、差异数据处理、滚动对账处理、对账结果落库。
10.根据权利要求1所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述步骤5中对已经完成对账的数据通过merchantverify2模块配置SQL及执行时间异步重新生成对账文件供下游系统使用。
...【技术特征摘要】
1.一种基于配置参数动态实现支付对账业务的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述s1步骤中添加配置信息以下步骤:
3.根据权利要求2所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述s2步骤在触发上述步骤s1-9)中的定时任务后,包括以下步骤:
4.根据权利要求3所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述步骤3在接收到kafka发出的反馈信息后,包括以下步骤:
5.根据权利要求4所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述s4步骤包括以下步骤:
6.根据权利要求5所述的一种基于配置参数动态实现支付对账业务的方法,其特征在于:所述s5步骤在接收到步骤4中kafka发出的反馈信息后,包括以下步骤:
7.根据权利要求1所述的一种基于配置参数动态实现支付对账业务的方...
【专利技术属性】
技术研发人员:高鹏,杜江,徐逸舟,陈阳,
申请(专利权)人:苏银凯基消费金融有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。