实践案例 | 如何使用第三方短信下发平台发送苍穹工作流待办通知

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:4

实践案例 | 如何使用第三方短信下发平台发送苍穹工作流待办通知

小编推荐

对于安全、合规性要求较高的政府部门、央国企而言,使用苍穹工作流时,常常需要使用自有的短信下发平台来发送工作流相关待办通知。那么,如何快速实现苍穹与第三方短信平台的集成呢?


本期实践案例为你揭晓!基于苍穹消息平台的扩展性,扩展开发新的短信消息渠道,再通过工作流配置等轻松实现第三方短信平台集成~


案例撰稿人:雁翎。



1 业务背景


客户A上线了星瀚4.0系统,根据业务需要,系统配置了的核心业务工作流必须第一时间提醒相关待办人员及时处理工作项,否则超出业务办结时间,容易遭到投诉。对此,苍穹消息平台预置了邮件、短信、移动办公软件等类型的8种标准渠道,满足多种消息发送场景,可以方便、及时地提醒相关人员处理待办任务。


但由于客户A为政府部门,考虑到国家安全规定和网关限制,客户在使用工作流时,短信提醒必须使用客户自身的短信下发平台,不能使用苍穹标准产品消息平台预置的消息渠道。


因此,客户A希望能够提供解决方案,满足需求:使用苍穹工作流的基础上,同时能使用自身的短信下发平台来发送工作流相关的待办通知短信


2 解决方案


针对以上业务场景,可基于苍穹消息平台的扩展性,扩展开发新的短信消息渠道,再通过工作流配置等实现第三方短信平台集成。方案的具体实现步骤如下:


步骤一:新增消息渠道


由于客户需要使用自身的短信下发平台(非苍穹预置的标准渠道)来发送工作流相关的待办通知短信,需要在消息平台中新增对应的消息渠道“XX政务短信平台”,路径为:【系统服务云】→【系统管理】→【消息平台】→【消息渠道】,并配置消息渠道实现类iss_common.SendMsgServiceHelper。


上传图片

新增消息渠道


步骤二:修改消息类型


新增消息渠道后,需在消息类型“任务”中添加对应的消息渠道,才可确保待办任务通知会发送到该渠道。在【系统服务云】→【系统管理】→【消息平台】→【消息类型】中找到“任务”类型,并在“发送渠道“中添加前面新增的消息渠道“XX政务短信平台”。


上传图片

修改消息类型


步骤三:编写消息渠道实现类


在步骤一中配置了消息渠道实现类后,需要编写插件来实现短信的发送,具体方法为:创建类iss_common.SendMsgServiceHelper并继承AbstractMessageServiceHandler(消息中心API工程中提供了抽象类,并规定所有渠道解析类都需要继承该抽象类),并重写createToDo方法。核心代码如下:


@Override
public void createToDo(MessageContext msgcontext, ToDoInfo todoinfo) {
   logger.error("xxxxx发送待办短信插件createToDo:" + WfConfigurationUtil.isEnabled(CHANNEL_TYPE));
   // 工作流创建待办任务
   if (WfConfigurationUtil.isEnabled(CHANNEL_TYPE)) {
      logger.info("---createToDo---入参参数:msgcontext = " + msgcontext.toString());
      logger.info("---createToDo---入参参数:todoinfo = " + todoinfo.toString());
      try {
         String content = todoinfo.getContent();// 标题内容
         // 根据id查询手机号码,并去重
         List<Long> userIds = todoinfo.getUserIds();// 待办任务处理人主键id
         Set<String> userPhone = new HashSet<>();
         DynamicObject[] load = BusinessDataServiceHelper.load("bos_user", "id,phone",
               new QFilter("id", QCP.in, userIds).toArray());
         for (DynamicObject user : load) {
            userPhone.add(user.getString("phone"));
         }
         // 构建发送短信请求信息
         String requestParams = SendMsgUtils.createParams(userPhone, content);
         // 请求短信发送接口
         SendMsgUtils.InsertDownSms(requestParams);
      } catch (Exception e) {
         logger.error("xxxxx发送待办短信插件创建createToDo失败" + e.getMessage() + "//" + e.getCause() + "//"
               + e.getLocalizedMessage());
         throw new WFMessageServiceException(e, new ErrorCode("bos.wf.msg.lhsmsCreatToDoError", "\"xxxxx发送待办短信"),
               e.getMessage());
      }
   }
}


步骤四:工作流配置


最后,在对应的工作流审批流程中,选中审批节点,在【审批设置】→【消息通知】中,配置消息发送时机、消息渠道(此处为xx政务短信平台)、消息内容、消息接收人等,如下图所示:


上传图片

工作流消息通知配置


通过上述步骤,即可使用客户自身的短信平台发送工作流任务待办通知,效果如下图所示:


上传图片

短信发送效果示例


3 方案的复用价值


该方案不限制行业,任何企业原有短信平台、其他待办发送平台皆可使用。开发成本非常低,扩展性高,星瀚系统内所有的消息类型皆可使用新消息渠道。同时,对政府部门、央国企信息来说,隐私性、安全性大大增加保障


4 相关链接


消息通知发送渠道配置说明

消息渠道扩展开发详解,你不容错过!




#往期推荐#


# 如何实现通过钉钉接收并免登查看苍穹工作流消息通知

消息渠道扩展开发详解,你不容错过!

带你玩转消息模板使用规则

工作流消息种类太多搞不懂?看这篇就够了!


更多精彩内容,“码”上了解!↓


上传图片

实践案例 | 如何使用第三方短信下发平台发送苍穹工作流待办通知

小编推荐对于安全、合规性要求较高的政府部门、央国企而言,使用苍穹工作流时,常常需要使用自有的短信下发平台来发送工作流相关待办通知。...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息