用友致远协同办公系统-开发手册
}
}
}
}
member = orgManager.getMemberById(affair.getSenderId()); log.error(\, e);
} catch (BusinessException e) {
row.setCreateMemberName(member.getName());
row.setCreateMemberAlt(Functions.showMemberName(member)); row.setCreateDate(affair.getCreateDate()); if (proxyId.equals(affair.getMemberId())) { row.setAgent(true); // 代理 }
row.setBodyType(affair.getBodyType());
row.setImportantLevel(affair.getImportantLevel()); row.setHasAttachments(affair.isHasAttachments()); Boolean isOverTime = affair.getIsOvertopTime(); // 超期事件突出显示
row.setDistinct(isOverTime); if (isOverTime) { }
row.addExtIcons(\);
&& affair.getDeadlineDate() != 0) {
} else if (affair.getDeadlineDate() != null
row.addExtIcons(\);
if ((_agentModelToList != null && !_agentModelToList.isEmpty()) }
c.addBottomButton(BaseSectionTemplete.BOTTOM_BUTTON_LABEL_MORE,
\);
return c;
|| _agentModelList != null && !_agentModelList.isEmpty()) {
\);
c.addBottomButton(BaseSectionTemplete.BOTTOM_BUTTON_LABEL_AGENT,
3.2.4 待办事项和跟踪事项
调用affairService的exportPendingList和exportTrackList服务,获得用户的待办事项和跟踪事项的XML,解析后可以在外部系统进行展示。 3.2.5 新闻和公告
调用documentService的exportRecentNews和exportRecentAccountBulletin服务,获得指定单位的新闻和公告的XML,解析后可以在外部系统进行展示。
用友致远协同办公系统-开发手册
4. 消息集成
外部系统可以使用消息服务(参见《平台API参考手册》的消息服务)向A8用户发送消息,也可以通过消息通道接收A8的消息。 4.1 消息通道 4.1.1 概述
当需要开发消息集成,例如sms,email,rtx,gke,就可以使用此消息展现通道,只需要实现一个消息接口,A8系统就可以把外部的应用集成进来,在集成端可以收到A8的所有消息,如在线消息,协同,会议,计划等,在系统启动前和用户个人设置中均可以配置。
4.1.2 接口说明 4.1.2.1 方法说明
接口名称:interface MessagePipeline 需要实现的方法如下: 方法名称 getName() getShowName() isAvailability() isAllowSetting(User currentUser) 返回值 string string boolean string 说明 消息展现通道的系统标示,注意不要重复,有数字字母下划线构成,如:pc,sms,email,rtx,gke 消息展现通道的显示名称 该通道是否可用,可以控制是否需要消息展现 是否允许用户在“个人设置-消息提示设置”中进行配置; 如:短信提示,需要后台管理员授权,并且设置了个人的手机号码,人员是当前登录者,允许配置返回null,否则返回提示信息(注意国际化) getAllowSettingCategory() List
代表加载成功
4.1.2.3 原理说明
Map
applicationContext.getBeansOfType(MessagePipeline.class); 通过getBeansOfType(),获得所有实现该接口的实例,加载到系统中 4.1.3 代码示例 以RTX消息展现为例:
public class RTXMessagePipeline implements MessagePipeline {
// 排序号
public int getSortId() { }
return 6;
// 默认是否发送
public boolean isDefaultSend() { }
return false;
// 消息展现通道的系统标示
public String getName() { }
return \;
// 该通道是否可用
public boolean isAvailability() { }
return SystemEnvironment.hasPlugin(\); }
}
} catch (Throwable e) { }
log.error(\, e);
// 处理消息
public void invoke(Message[] messages) {
for (Message message : messages) {
try {
String remoteURL = message.getRemoteURL();
String userName = message.getReceiverMember().getLoginName(); RTXNotifyValueBean value = new RTXNotifyValueBean(); String content = message.getContent();
value.title = message.getSenderMember().getName(); // ...
rtxSendNotifyManager.sendNotify(value);
用友致远协同办公系统-开发手册 } 4.2 短信接口 4.2.1 概述
二次开发时客户可能指定具体短信网关,这样我们需要支持此短信网关来发短信,可以只采用普通方式发短信息,实现A8普通短信接口即可,短信插件被启用时加载到系统。
例如:UFMOBILE,短信王
如果客户想使用消息回调,打开链接,必须开启移动应用插件,就是实现wappush接口的,必须开启移动应用插件,并且短信网关必须支持wap方式,只实现wap短信接口不能支持普通短信方式,
例如:中国移动CMPP3,金迪,分众
短信接口使用情况如下: 短信插件启用:
1,实现了“普通短信接口”,则系统启动时加载,
2,只实现了“支持wap方式接口”,并且移动应用插件未启用,则系统启动时不加载,
3,实现了“普通短信接口”,并且也实现了“支持wap方式接口”,并且移动应用插件未启用,则支持普通短信插件功能,不支持wap方式。 4.2.2 接口说明 接口名称:
interface AdapterMobileMessageManger 普通短信接口
interface AdapterMobileWapPushManager 支持wap方式接口,wappush url 不能为
空,即消息回调地址不能为空,如果同时实现了普通短信接口,则实现普通短信功能。 支持wap需要实现方法如下:
/**
* 检测Wappush适配器是否可用 */
public boolean isAvailability(); /**
* 短信网关的名称 */
public String getName(); /**
* 发送Wappush消息 * @param messageId * 消息的唯一标示 * @param srcPhone
* 短信的发送方手机号码 * @param destPhone
* 短信的接收方手机号码 * @param content * 短信内容
用友致远协同办公系统-开发手册
* @param wappushURL
* wap push的url,如果为null,说明不发送wappush,采用普通短信 * @return true 发送成功 */
public boolean sendMessage(int messageId, String srcPhone, String destPhone, String content, /**
* 发送Wappush消息 * @param messageId * 消息的唯一标示 * @param srcPhone
* 短信的发送方手机号码 * @param destPhone
* 短信的接收方手机号码 * @param content * 短信内容 * @param wappushURL
* wap push的url,如果为null,说明不发送wappush,如果同时实现了 * @return true 发送成功 */
public boolean sendMessage(int messageId, String srcPhone, Collection
* 是否支持群发 *
* @return true 支持 */
public boolean isSupportQueueSend();
String content, String wappushURL);
String wappushURL);
AdapterMobileMessageManger 采用普通短信
采用普通方式: /** * 检测短信适配器是否可用 * @return */ public boolean isAvailability(); /** * 短信网关名称 * @return */ public String getName(); /** * 发送短消息 * * @param messageId