网关支付具体方法流转
2017-07-13 18:59:23 18 举报
网关支付具体方法流转MMMMMMMMMMMMMMMM
作者其他创作
大纲/内容
builderMsg(位于ChannelMsgHandler类接口中,UrlChannelMsgHandlerImpl是其实现类;对接三方的xxxPayMsgHandler只需要继承该类,如果有需要重写该方法,定义自己的行为,一般为设置连接三方接口地址)
协议转换(业务线传来的VO转成我们自己的内部流转的DTO)
GatewayPayChannel#pay
调用核心方法doProcess([1]执行验证组件validate方法 [2]报文组件的beforBuildMsg方法、builderMsg方法、afterBuildMsg方法[3]通信组件的send方法[4]报文组件的beforResolveMsg方法、resolveMsg方法、afterResolveMsg方法)
afterCallFront(位于PayProcesser类中,根据前置返回的信息,调用IGwTradeBuss.updateFinishTrade更新gwTrade表信息,返回业务线所需的PayRepDTO)
校验参数(调用spring注入的类PayValidate的validate方法)
beforeCallFront(位于PayProcesser类中,把订单信息落地入库,并组装前置需要的PayReqDTO的参数)
开始
callFront(位于PayProcesser类中,调用前置模块的pay方法)
获取处理器类PayProcesser(根据spring注入的id找到PayProcesser)
afterResolveMsg(位于ChannelMsgHandler类接口中,UrlChannelMsgHandlerImpl是其实现类;对接三方的xxxPayMsgHandler只需要继承该类,如果有需要重写该方法,定义自己的行为)
处理器模块(core_process)
网关支付_方法流转
afterBuildMsg(位于ChannelMsgHandler类接口中,UrlChannelMsgHandlerImpl是其实现类;对接三方的xxxPayMsgHandler只需要继承该类,如果有需要重写该方法,定义自己的行为)
builderMsg(位于ChannelMsgHandler类接口中,UrlChannelMsgHandlerImpl是其实现类;对接三方的xxxPayMsgHandler只需要继承该类,如果有需要重写该方法,定义自己的行为,一般为组装三方接口定义的数据,并转为byte数组)
获取路由类PayRouter(根据spring注入的id找到PayRouter)
beforResolveMsg(位于ChannelMsgHandler类接口中,UrlChannelMsgHandlerImpl是其实现类;对接三方的xxxPayMsgHandler只需要继承该类,如果有需要重写该方法,定义自己的行为)
调用处理器类的父类的父类AbsProcesser的processer方法(processer方法调用了其子类的子类PayProcesser重写的beforeCallFront方法和callFront方法和afterCallFront方法)
门面模块(server)
前置模块(front)
把spring注入的相关参数验证组件、通信组件查询通信组件、报文组件和配置组件set进模版对象中
resolveMsg(位于ChannelMsgHandler类接口中,UrlChannelMsgHandlerImpl是其实现类;对接三方的xxxPayMsgHandler只需要继承该类,如果有需要重写该方法,定义自己的行为,一般为将三方返回的数据解析为core中需要的xxxRepDTO返回给业务线)
新建ChannelActionProcess模版类对象(该模版类里包含参数验证组件、通信组件查询通信组件、报文组件和配置组件,抽象实现了整个前置的全部行为,集成了系统各个组件)
调用路由类的router方法(装饰者模式和工厂模式在10个handler类查询9张表数据和生成订单号)
路由模块(core_router)
0 条评论
回复 删除
下一页