产品父子流程技术方案设计

产品父子流程技术方案设计

一、整体设计

根据业务需求分析,产品涉及法人代表及实控人风控决策流程调用,旨在降低风险,提高行内线上贷款业务风险决策的能力。

二、业务流程

1.业务流程图

在这里插入图片描述

2.交易流程

在授信交易切面入口处对法人代表及实控人进行逻辑判断,根据不同产品的流程要求进行分发处理;

  • 该系列产品:
  • 在切面入口处进行判断并添加借款人(实控人、主流程)、共借人(法人代表、子流程)标识,并实现分发,逻辑如下:
    • 法人代表与实控人一致,只跑实控人流程,交易采用决策输出结果;
    • 法人代表与实控人不一致:
      • 先跑法人代表流程,若拒绝,流程结束,采用法人代表决策输出结果;
    • 后跑实控人流程(实控人挂起,等待法人代表流程完成后继续流程),采用实控人决策输出结果;
  • 注释:先轮询共借人流程,保证主流程能挂起,防止子流程执行过快,主流程未挂起时出现异常;

三、数据库设计

  • 1.表设计
    • xxx_trans 表
      • 新增 trans_entity_type 字段 ; 交易主体类型:0 主借人,1共借人;
  • 2. 流水号设计
    • apply_id 字段
      • 主借人(该产品指法人代表)存上游上送的流水号;
        • 示例:MSN12937483274320
      • 共借人(该产品指实控人)存上游上送的流水号;
        • 示例:MSN12937483274320

四、接口设计

1.抽象Special服务节点
  • 封装SpecialInterceptor
    • serviceCode 配置为产品编号
      • 该系列产品需抽象为 ZhongHua_Pro (支持所有该配置的产品)
2.Special服务实现-调用
  • 封装子流程通用接口数据服务
    • AbstractProduct 抽象 doServiceInvoke 方法并提供默认实现;
    • ZhongHua_Pro 子流程通用服务 -> 同 MSN010实现,并重写 doServiceInvoke 抽象方法;
    • 先查询子流程完成,后继续;若查不到子流程数据,生成子流程数据,继续挂起,等待子流程完成后回调
      • 实现主流程挂起,子流程继续处理;
      • 实现子流程完成后,继续主流程;
3.回调前置处理接口
  • AbstractProduct 类提供 doAfterInvoke 返回标识,据此标识判断是否继续回调上游,默认返回回调标识;
4.Special服务实现-回调
  • ZhongHua_Pro 类重写 doAfterInvoke 实现,根据主流程及子流程完成回调标识组装,并MQ通知 ZhongHua_Pro 类 doServiceInvoke 方法,继续主流程(先查询子流程完成,后继续;若查不到子流程数据,生成子流程数据,继续挂起,等待子流程完成后回调);
5.扩展设计
  • 若部分产品需要汇总子流程数据信息,或有多个子流程需要判断完成,可在 doServiceInvoke 中做扩展实现。

五、非功能性需求

1.系统性能指标

当前生产硬件资源满足本次改造,不影响系统吞吐量;

2.数据安全

采用原有的加密、鉴权处理方案;

3.异常处理
主流程异常
  • 支持流程重推
    • 存在子流程
      • 子流程未完成,流程重推子流程,主流程等待回调;
      • 子流程已完成,流程重推主流程;
    • 不存在子流程
      • 在Special服务实现(ZhongHua_Pro 类)中做兼容;或同当前异常处理机制;
子流程异常
  • 支持流程重推
    • 子流程重推,完成后回调主流程;
4.涉及模块
  • xxl-job
  • 产品交易人工重推
  • AbstractProduct 中 doBeforeInvoke重写、doAfterInvoke 改造
  • 新增Special服务实现(ZhongHua_Pro 类)
5.部署环境
  • Special两台节点

六、技术风险点

涉及改造为公共交易处理模块,需要详尽测试,及抽样产品回归测试;

七、上线流程

投产操作流程
  • 脚本
  • 应用部署(Nacos渐入渐出)
  • 配置缓存清理

八、回滚方案

  • 脚本回退
  • 重新部署上个版本jar包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值