package message;
import java.io.ByteArrayInputStream;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import rtx.RTXSvrApi;
public class UserManager {
public UserManager(){
}
public static final String NO_SEND_POST_CODE_FLAG = "000000";
/**
* 发送消息
* @param receivers
* @param title
* @param message
* @param delayTime
* @return
*/
public boolean sendMessage(String receivers, String title, String message,
String delayTime) {
int iRet = -1;
boolean result = false;
RTXSvrApi rtxsApi = new RTXSvrApi();
if (rtxsApi.Init()) {
iRet = rtxsApi
.sendNotify(receivers, title, message, "0", delayTime);
if (iRet == 0) {
System.out.println("发送成功");
result = true;
} else {
System.out.println("发送失败");
result = false;
}
}
rtxsApi.UnInit();
return result;
}
/**
* 获取发送的用户(如果postcode为000000 则不发送)
* @return
*/
public String getSendUsers() {
String users = getAllUsers();
if(users.endsWith(",")){
users = users.substring(0, users.length()-1);
}
return users;
}
public boolean loginUser(String userName,String password){
RTXSvrApi rtxsApi = new RTXSvrApi();
String uid = null;
if (rtxsApi.Init()) {
String[][] str = rtxsApi.GetUserSimpleInfo(userName);
for(int i=0;i<str.length;i++){
for(int j=0;j<str[i].length;j++){
String pwd = str[i][j];
if("UIN".equals(pwd)){
uid = str[i][j+1];
break;
}
}
}
}
rtxsApi.UnInit();
if(uid==null){
return false;
}else{
}
return true;
}
private String getAllUsers() {
RTXSvrApi rtxsApi = new RTXSvrApi();
StringBuffer users = new StringBuffer();
if (rtxsApi.Init()) {
String xmlData = rtxsApi.exportXmldata();
System.out.println(xmlData);
SAXReader saxReader = new SAXReader();
Document document;
try {
document = saxReader.read(new ByteArrayInputStream(xmlData
.getBytes()));
Element rl = document.getRootElement();
getNodeCount(rl,users);
return users.toString();
} catch (DocumentException e) {
e.printStackTrace();
}
}
rtxsApi.UnInit();
return null;
}
public void getNodeCount(Element element,StringBuffer users) {
for (int i = 0; i < element.nodeCount(); i++) {
Node node = element.node(i);
if (node instanceof Element) {
Element elementTemp = (Element) node;
String qname = elementTemp.getQName().getName();
if("user".equals(qname)){
String uid = elementTemp.attributeValue("uid");
String postcode = elementTemp.attributeValue("postcode");
if(!NO_SEND_POST_CODE_FLAG.equals(postcode)){
users.append(uid).append(",");
}
}
getNodeCount(elementTemp,users);
}
}
}
}
分享到:
相关推荐
SDK中的客户端部分通常包括API接口、示例代码和必要的库文件,允许开发者在自己的应用程序中嵌入RTX的功能,例如创建聊天窗口、发送接收消息、管理联系人列表等。开发者可以参考提供的文档来学习如何调用这些接口,...
RTX2009SDK、RTXServer2013以及RTX2009是腾讯即时通讯软件RTX(Real Time eXchange)在2009年及其后续版本的相关开发工具和服务器软件。这个压缩包包含了这些关键组件以及一个winform实例,帮助开发者理解和实践如何...
在"RTXServer SDK Java语言支持文档.doc"中,详细介绍了如何使用Java SDK来与RTXServer进行交互,开发人员可以参考这份文档来理解RTX Server与Java应用之间的接口调用和数据交互方式。 首先,"RTXServer SDK Java...
- **RTXServer2007SDK**:开发工具包,包含了开发过程中需要用到的所有类库和文档。 #### 2. 准备开发环境 - 使用Visual Basic作为开发语言。 - 在VB的“工程”中选择“引用”,勾选“RTXSAPI1.0 Type Library”。 ...
总的来说,"RTX二次开发-消息通知功能C#"意味着通过C#语言和RTX ServerSDK,我们可以创建一个能够集成到企业工作流中的通知系统,实现实时的信息传递。开发者可以通过这样的系统实现定制化的通知服务,提高工作效率...
本文将详细讲解如何利用Java调用RTX发送提醒消息,主要涉及`RTXSvrApi.java`文件中的接口以及`RTXServer SDK Java语言支持文档.doc`的帮助文档。 首先,`RTXSvrApi.java`是一个Java类文件,它封装了调用RTX服务器...
本指南将详细介绍如何利用RTX SDK进行开发,包括RTX Client和RTX Server两个核心组件。 **RTX Client API** RTX Client API是开发者用来构建客户端应用程序的部分。它提供了丰富的函数和接口,使开发者能够实现...
RTX消息SDK是企业级即时通讯软件 Lotus Notes/Domino 的一个重要组成部分,它允许开发者通过编程方式发送RTX(Real-Time eXchange)消息,从而实现定制化的沟通功能。在给定的压缩包中,包含了三个关键的DLL(动态...
2. **Java语言支持**:RTXServer SDK Java语言支持文档详细阐述了如何在Java环境中使用SDK进行编程。开发者可以通过这个文档了解如何导入库、设置环境、调用方法等,以实现RTX的定制功能。 3. **RTX2010**:这是RTX...
其次,RTX Server SDK(服务器端软件开发工具包)则为开发者提供了对RTX服务器进行扩展和定制的能力。这包括但不限于添加新的服务模块、实现特定的业务逻辑、调整服务器性能等。开发者可以利用Server SDK来构建企业...
开发者可以通过这些API来控制RTX客户端的行为,例如发送消息、接收消息、管理联系人、处理事件等。这个文档通常包括接口的定义、参数说明、使用示例和常见问题解答,是开发客户端插件的基础。 2. **RTX2006Server ...
在IT行业中,企业内部通信...结合VS2010开发环境和Server SDK,开发者可以构建出强大的企业级应用,增强内部通信效率,优化管理流程。在实际工作中,理解并熟练运用这些接口,将有助于提升企业的信息化水平和运营效率。
首先,OA服务器需要安装Server SDK API包。登录流程如下: 1. 用户登录OA系统。 2. OA服务器获取SessionKey。 3. 用户请求RTX登录,OA服务器转发SessionKey。 4. RTX客户端使用SessionKey登录。 这一过程中,需要...
6. 在添加程序窗口中,浏览到 RTXServer 安装目录下的 bin 文件夹,选择 ConnServer.exe。 7. ConnServer.exe 被添加进“添加程序”窗口,点击确定即可成功把该程序添加进例外。 8. 按同样的方法,把 FileServer.exe...
- 下载并安装SDK开发包,可以从官方地址(http://rtx.tencent.com/rtx/download/index.shtml)获取。 - 重点是服务端SDK,因为用于发送消息提醒。 3. **实现步骤** - RTX的WebRoot目录下有一个名为`SendNotify....
这是什么这个项目包含了一个jira插件(RTX Notifier)和一个服务端(RTX Agent), jira插件用来监听jira的事件, 并把这些事件转换为消息发送到服务端, 服务端再将消息转发到RTX Server, 实现通知功能. jira插件和服务端...
这需要在OA服务器上安装Server SDK API包,并编写后台程序负责中转SessionKey,前端程序则通过调用客户端SessionKey登录接口实现自动登录。 **组织架构集成**:RTX与OA系统共享用户信息,确保两个系统有相同的组织...
项目需要用vs2010打开 腾讯通服务器端接口开发: 查询企业信息 查询版本信息 ...发送消息提醒 ----- 常用接口 用户登录验证 ----- 常用接口 查询用户权限列表 根据状态查询用户列表 发送IM消息 踢除用户下载