电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

如何通过服务流程进行异常处理与状态通知

来源:金蝶云社区作者:金蝶2024-09-235

如何通过服务流程进行异常处理与状态通知


服务流程是集成云推出的面向复杂集成场景的低代码服务编排工具,能够把已有的集成对象、集成方案、消息服务、API接口等集成资源,通过流程化设计编排成全新的应用服务,以支持更加复杂的业务场景。


例如基础数据分发到多个系统、数据消费需要从多源取数、基于某个数据参数处理不同的集成过程等等。


为了帮助大家快速掌握服务流程的使用方法,我们推出了系列文章,通过11个典型案例向大家介绍服务流程的高级技巧。


在上期集成服务流程典型案例系列文章中,我们为大家介绍了服务流程的第6个典型案例:如何使用服务流程进行数据一致性补偿同步


本期,小编继续为大家介绍第7个案例:通过服务流程中的错误转移、补偿转移功能,进行异常数据处理与发送状态通知,包括以下3个要点:


  • 需求场景介绍;

  • 以采购订单业务为例,解析如何使用错误转移处理异常数据,并发送通知;

  • 以机票购买流程为例,解析如何使用补偿转移修复已传输数据。




需求场景介绍


在使用集成服务的过程中,需要对数据集成过程中可能出现的各种异常进行处理,包括错误转移、补偿转移、流程通知等,将服务流程成功或者失败的结果通过苍穹平台消息或手机短信通知相关负责人。


案例介绍

2.1 错误转移案例


错误转移案例-流程概览


以采购订单业务为例,正常的流程走向为:【调用微服务保存采购订单】→【采购订单提交】→【采购订单审核】→【采购订单下推采购入库单】→【采购入库单保存】→【采购入库单提交】→【采购入库单审核】→【处理数据】→【结束】。


如果【采购订单下推采购入库单】及【采购入库单保存】节点出现异常导致节点失败,业务方则需要回滚相应操作,并删除采购订单。


红色的线条表示错误转移,经过错误转移后,后续流程会先通过消息发送节点将具体失败异常信息发送给用户,然后执行【采购订单反审核】→【采购订单删除】等操作。


点击红色错误转移线条可进行转移配置。其中,“$error.message”用于存储上一节点出错的异常信息,将其赋值给【服务流程】→【流程属性】→【流程变量】过程中创建的全局变量errMsg。


然后,在后续节点可以对“errMsg”进行处理,或作为流程通知内容发送给相关负责人。


注意:必须在脚本最后加上“return true”或者“$error!=null”。


错误转移配置


以下是流程通知节点的配置内容:


通知节点配置


在【固定消息接收人-苍穹用户】中,选择当前苍穹系统用户,消息则会发送到下图中红色箭头所指的位置。在【固定消息接收人-非苍穹用户】中,填写被通知人员的名字和电话号码,可发送短信至对应人员的手机。


通过“#{var}”引用服务流程中定义的变量,“var”即为变量名;通过“#{var.pro}”引用变量中的某个属性值。“#{errMsg}”表示在错误节点时的异常信息,可以发送给相应人员。


通知接收效果


2.2 补偿转移案例


在某些复杂的业务中,假设服务流程正常执行的业务是A-B-C或A-C或B-C,A和B是可选的操作,业务C是最终的操作,但C可能会出错,出错后需要对A、B进行业务弥补,但可能只对A或者只对B进行业务弥补操作。这种场景可用补偿转移来实现。


此处以机票购买流程为例,为大家介绍补偿转移。案例背景如下:


小A有1000元预算,需要预订一张600元的机票,但无需购买保险。因此,购买时仅需扣除机票钱,无需扣除保费。且即使机票预定失败,也无需退保费。若仅购买机票

如何通过服务流程进行异常处理与状态通知

服务流程是集成云推出的面向复杂集成场景的低代码服务编排工具,能够把已有的集成对象、集成方案、消息服务、API接口等集成资源,通过流程...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信