网关支付具体方法流转
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 条评论
 下一页
  
   
   
   
  
  
  
  
  
  
  
  
 