消息渠道扩展开发详解,你不容错过!
1 为什么要做渠道的开发?
用户上线苍穹系统,往往会与某种移动办公软件一起使用,比如云之家、钉钉、泛微、蓝凌等。
第三方移动办公软件特点是灵活机动,使用条件限制少,操作简单,往往只用一部手机即可完成所有操作。这种业务处理方式更加符合当下主流形式,所以用户希望苍穹产生的任务或者业务消息可实时并准确地推送至手机端,满足用户使用习惯。
所以,消息中心提供了消息渠道功能,来满足上述用户需求。
2 原厂支持哪些消息渠道?
清楚了消息渠道的定位以及概念后,那苍穹消息中心原厂预置了哪些标准渠道呢?且听小编为你逐一道来~
目前,消息中心预置了8种标准渠道,主要分为3种类型:邮件、短信、移动办公软件,如下图所示:
8种标准消息渠道
原厂8种渠道,可以满足大部分用户的使用需求,但是不排除在此范围之外的使用习惯,比如,客户使用泛微、蓝凌或者自研系统作为日常办公软件。
为了满足更多用户的个性化需求,消息中心提供了渠道扩展能力。
3 如何开发扩展消息渠道?
渠道开发分几步?其实很简单,只需两步即可实现。
步骤一:配置消息渠道参数
关于消息渠道参数的配置,消息中心提供了基础界面,用户可以直接使用,也可以在该界面的基础上进行扩展开发。路径为:【系统服务云】→【系统管理】→【消息平台】→【消息渠道】,参数配置界面如下图所示:
消息渠道参数配置界面
其中实现类,需要录入用户开发的渠道解析类。如何编写解析类呢?不用着急,接下来为大家详细说明~
步骤二:编写消息渠道解析类
消息中心API工程中提供了抽象类,并规定所有渠道解析类都需要继承该抽象类,在此基础上实现相应方法。
工程名 | bos-mservice-message-api |
抽象类 | AbstractMessageServiceHandler |
下面我们详细介绍下抽象类中,各个方法的作用以及使用过程中的注意点:
public void createToDo(MessageContext ctx, ToDoInfo info){ 1. 流程创建任务方法; 2. 方法入参包含所有任务场景所需参数数据; 3. 标准产品中没有记录任务日志,扩展开发可以根据需求决定是否将任务日志落库处理,数据库表以及落库方式没有具体要求; 4. 方法逻辑执行过程中,若是出现异常,请向上游抛出,平台会根据异常,自动重试再次推送任务。 } |
public void dealToDo(MessageContext ctx, ToDoInfo info){ 1. 流程处理任务方法; 2. 在该方法中调用第三方系统接口,推送任务处理请求。 } |
public void deleteTodo(MessageContext ctx, ToDoInfo info){ 1.流程删除任务方法; 2.在该方法中调用第三方系统接口,推送任务处理请求。 } |
public void checkTodo(MessageContext ctx, ToDoInfo info){ 校验OA系统任务处理状态,特殊渠道需要使用。 } |
public void sendMessage(MessageContext ctx, MessageInfo message) { 1. 业务推送消息方法; 2. 链接消息中URL可以酌情改造,以适用OA系统单点登录要求; 3. 调用接口部分请求失败,请向上游抛出异常,异常方式可以参考标准渠道逻辑,系统会自动重试并再次推送消息。 } |
public void deleteProcessInstance(MessageContext ctx, Long proceInstanceId){ 苍穹删除流程时触发该方法,用户可以在该方法中完成必要业务逻辑。 } |
public void completeProcessInstance(MessageContext ctx, Long proceInstanceId){ 苍穹流程结束时触发该方法,用户可以在该方法中完成必要业务逻辑。 } |
通过上述步骤,用户即可快速地完成扩展渠道开发任务,在消息类型配置对应渠道后,消息中心可以实时、准确地将苍穹产生的消息以及任务推送至第三方OA系统,满足用户的使用需求。
4 开发消息渠道还需要注意什么?
在扩展渠道开发过程中,用户还需注意以下3点问题:
(1) 预研第三方OA系统提供的接口,检测满足用户需求;
(2) 关注苍穹与第三方OA系统的人员关系映射问题,在标准产品不支持的情况下,需要扩展开发。
(3) 任务、消息推送成功之后,苍穹系统单点登录,而登录模块对此有特殊要求,在开发之前也需要做好咨询工作。
5 渠道扩展问题集锦
问:苍穹任务、消息推送失败,该如何处理?
答:解析类中向上抛出异常,让平台捕获该异常,平台记录失败信息,并执行重试、再次推送。
问:苍穹任务推送日志是否需要单独记录?
答:渠道开发过程中,任务推送日志差异性较大,需要用户自己记录,记录时需要注意兼容重试任务数据、数据堆积问题以及性能问题。
6 相关链接
https://vip.kingdee.com/school/6110
苍穹单点登录:
https://cloud.kingdee.com/help/document/detail?item=14&doc=167
7 划重点
1) 苍穹消息中心预置了8种标准渠道,主要分为3种类型:邮件、短信、移动办公软件(钉钉、企业微信、云之家、Welink、生态云之家、云之家统一流程)。
2) 扩展开发消息渠道只需两步:
步骤一:配置消息渠道参数;
步骤二:编写消息渠道解析类。
#往期推荐#
更多精彩内容,“码”上了解!↓
消息渠道扩展开发详解,你不容错过!
本文2024-09-23 00:35:09发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140413.html