最近在项目中要做一个审批流的功能,着实难为了一把。
我来给大家说一下我的思路:
先创建审批流,请求创建审批流的接口,成功后把审批流需要用到的数据存到数据库中(当然创建的审批流的编号也要保存进去哦)。
在服务器端,当审批流通过,即状态为1,调用数据库里存进去的数据,继续执行用户需要做的事。
!!!在这中遇到一个问题,比如用户要执行事件A,当审批人员通过审批,这时执行事件A,但这个事件A请求的接口在10秒内如果没有请求完会给审批流返回请求失败,这时很坑,虽然过了10秒,但最终这个事件A执行完了,结果用户这边收到事件A没有执行成功。大坑啊,
解决办法:
使用一个插件co,这个插件是使这个事件另起一个线程,审批通过后,在执行事件A的同时先给用户返回一个事件A执行成功,返回200。另一个线程执行事件A,如果事件A执行失败了,这时通过钉钉群报错。