java农业银行-企业银行ERP接口开发(后续)(代码改造-1)

这篇文章不是主流程,看与不看都没关系,至于为什么出这篇文章,纯粹是因为当初写的代码太low,菜鸡写的一样,不规范,看过我文章的大牛们,估计都吐血了。机缘巧合被外派到某丰上班,看了人家写的java的代码,我羞愧难当,学习了一波人家的经验之后,我抽时间建了一个dome项目,重写了一下这个农行对接,虽然学习了人家的代码经验,但我还是很菜,害,路漫漫其修远兮,吾将上下而求索。


之前写法是定一个AbcErpToIctSocket工具类,里面每个接口一个方法,代码很乱七八糟,很多代码也都不需要,有些地方IO流都没有关闭, 有些类也没有明确职责,掺杂很多不应该属于它的代码,这次改成以服务接口方式注入,不再是每个农行接口一个方法,全部农行接口请求都调同一个方法,代码划分职责,然后多余的删掉等等。


本次改造设计如下:

引入包:lombok, fastjson, commons-lang3
新增:
        constant:
                1: AbcInterfaceType: 新增枚举-农行接口类型
        entityDTO:
                request:
                        1: AbstractRequest: 请求抽象类,继承RequestBaseEntity
                        2: RequestBaseFile: 请求文件对象基类
                response:
                        1: SocketResponseDTO: SocketClientUtil的socket请求响应
                        2: AbstractResponse: 响应抽象类,继承ResponseBaseEntity
                        3: ResponseBaseFile: 响应文件对象基类
                        4: AbcErpRespDTO: 农行接口统一响应DTO
        config:
                1: AbcConfig: 农行配置类,把所有农行配置信息注入该类
        service:
                1: IAbcErpService: 农行交易接口,只有一个erpRequest方法
                2: AbstractAbcErp: 农行请求抽象类,实现IAbcErpService,有关请求处理的方法都在这里,核心
                3: AbcErpService: 农行交易接口实现类,继承AbstractAbcErp,实现IAbcErpService的erpRequest方法,所有农行交易请求都走这个方法
修改:
        entityDTO:
                共同点:
                        1: 类名简化,request -> req, response -> resp
                        2: 去掉get,set方法,用上lombok注解@Data
                        3: 所有Double类型字段都换成BigDecimal类型,涉及到钱,稳妥点
                request:
                        1:所有接口requestDTO继承由RequestBaseEntity改成AbstractRequest,并指定AbstractRequest的泛型R,也就是对应的应答报文对象
                        2: IBAF04ReqDTO.FileObject.class、IBBF23ReqDTO.FileObject.class 文件对象类继承RequestBaseFile
                response:
                        1:所有接口responseDTO继承由ResponseBaseEntity改成AbstractResponse
                        2:CQRC09RespDTO.FileObject.class、IBAQ06RespDTO.IBAF04FileObject.class、IBAQ06RespDTO.IBBF23FileObject.class 文件对象类继承ResponseBaseFile
        RequestBaseEntity: 去掉isEncryption(查询时是否加密)属性
        SocketClient: 重命名为SocketClientUtil,优化代码,返回值由Map改成SocketResponseDTO,去掉有关农行的代码,明确此工具类职责,加强可复用性
        XmlUtil: 优化代码,增加对IO流的关闭
        所有枚举类命名去掉后缀Enum,如原命名:CctransCodeEnum,新命名:CctransCode
删除:
        去掉枚举类:CctransCodeEnum
        去掉commons-io包引用,相关IO流处理的代码改成手写
        去掉AbcErpToIctSocket工具类,把里面的所有接口操作归集到AbstractAbcErp抽象类

api模块 



service模块 


​​​​​​​


项目版图 


​​​​​​​​​​​​​​


 具体改造代码看下篇文章


 码字不易,于你有利,勿忘点赞

农业银行 ERP 接口开发是指开发适用于农业银行企业资源规划(ERP)系统的接口ERP 系统可以帮助银行实现信息的集成、业务流程的优化和效率的提升。接口开发主要是为了与其他系统进行数据的互通和交换。 在农业银行 ERP 接口开发过程中,首先需要进行需求分析和系统设计。根据银行的具体需求,确定需要开发接口功能、数据格式、传输方式等。接下来,开发人员根据设计方案进行编码和测试,确保接口的正确性和稳定性。 银行 ERP 接口开发的关键是与现有系统的对接。农业银行可能拥有多个系统,如核心银行系统、账户管理系统、风险管理系统等。在开发过程中,需要与这些系统进行数据的交换和同步。因此,开发人员需要熟悉银行系统的架构和接口规范,并与相关系统的开发人员进行紧密合作。 另外,农业银行 ERP 接口开发还需要考虑数据的安全性和稳定性。银行作为金融机构,对数据的保密和可靠性要求非常高。因此,在接口开发过程中,需要采取合适的安全措施,如身份验证、数据加密和防止数据篡改等。同时,开发人员还需要测试接口在各种情况下的稳定性和扩展性,以确保接口能够在高负载和异常情况下正常工作。 综上所述,农业银行 ERP 接口开发是一个复杂而重要的任务。它需要开发人员具备深入的银行业务和系统知识,同时还要有丰富的编码和测试经验。只有通过合理的需求分析、系统设计和与相关系统的对接,才能开发出满足农业银行需求的稳定、安全的接口
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值