📄 rtxsvrapi.java
字号:
package rtx;
public class RTXSvrApi
{
//客户端与server传递的协议
static int PRO_ADDUSER =0x0001;
static int PRO_DELUSER =0x0002;
static int PRO_SETUSERSMPLINFO =0x0003;
static int PRO_GETUSER =0x0004;
static int PRO_SETUSER =0x0005;
static int PRO_GETUSERSMPLINFO =0x0006;
static int PRO_SETUSERPRIVILEGE =0x0007;
static int PRO_IFEXIST =0x0008;
static int PRO_TRANUSER =0X0009;
static int PRO_ADDDEPT =0x0101;
static int PRO_DELDEPT =0x0102;
static int PRO_SETDEPT =0x0103;
static int PRO_GETCHILDDEPT =0x0104;
static int PRO_GETDEPTALLUSER =0x0105;
static int PRO_SETDEPTPRIVILEGE =0x0106;
static int PRO_GETDEPTSMPLINFO =0x0107;
static int PRO_SMS_LOGON =0x1000;
static int PRO_SMS_SEND =0x1001;
static int PRO_SMS_NICKLIST =0x1002;
static int PRO_SMS_FUNCLIST =0x1003;
static int PRO_SMS_CHECK =0x1004;
static int PRO_SYS_USERLOGIN =0x2000;
static int PRO_SYS_GETUSERSTATUS =0x2001;
static int PRO_SYS_SENDIM =0x2002;
static int PRO_SYS_USERLOGINVERIFY =0x2003;
static int PRO_EXT_NOTIFY =0x2100;
//对象名称
static String OBJNAME_RTXEXT = "EXTTOOLS";
static String OBJNAME_RTXSYS = "SYSTOOLS";
static String OBJNAME_DEPTMANAGER = "DEPTMANAGER";
static String OBJNAME_USERMANAGER = "USERMANAGER";
static String OBJNAME_SMSMANAGER = "SMSOBJECT";
static String KEY_TYPE = "TYPE";
static String KEY_USERID = "USERID";
static String KEY_USERNAME = "USERNAME";
static String KEY_UIN = "UIN";
static String KEY_NICK = "NICK";
static String KEY_MOBILE = "MOBILE";
static String KEY_OUTERUIN = "OUTERUIN";
static String KEY_LASTMODIFYTIME= "LASTMODIFYTIME";
static String KEY_FACE = "FACE";
static String KEY_PASSWORD = "PWD";
static String KEY_AGE = "AGE";
static String KEY_GENDER = "GENDER";
static String KEY_BIRTHDAY = "BIRTHDAY";
static String KEY_BLOODTYPE = "BLOODTYPE";
static String KEY_CONSTELLATION = "CONSTELLATION";
static String KEY_COLLAGE = "COLLAGE";
static String KEY_HOMEPAGE = "HOMEPAGE";
static String KEY_EMAIL = "EMAIL";
static String KEY_PHONE = "PHONE";
static String KEY_FAX = "FAX";
static String KEY_ADDRESS = "ADDRESS";
static String KEY_POSTCODE = "POSTCODE";
static String KEY_COUNTRY = "COUNTRY";
static String KEY_PROVINCE = "PROVINCE";
static String KEY_CITY = "CITY";
static String KEY_MEMO = "MEMO";
static String KEY_MOBILETYPE = "MOBILETYPE";
static String KEY_AUTHTYPE = "AUTHTYPE";
static String KEY_POSITION = "POSITION";
static String KEY_OPENGSMINFO = "OPENGSMINFO";
static String KEY_OPENCONTACTINFO= "OPENCONTACTINFO";
static String KEY_PUBOUTUIN = "PUBOUTUIN";
static String KEY_PUBOUTNICK = "PUBOUTNICK";
static String KEY_PUBOUTNAME = "PUBOUTNAME";
static String KEY_PUBOUTDEPT = "PUBOUTDEPT";
static String KEY_PUBOUTPOSITION= "PUBOUTPOSITION";
static String KEY_PUBOUTINFO = "PUBOUTINFO";
static String KEY_OUTERPUBLISH = "OUTERPUBLISH";
static String KEY_LDAPID = "LDAPID";
static String KEY_DEPTID = "DEPTID";
static String KEY_PDEPTID = "PDEPTID";
static String KEY_SORTID = "SORTID";
static String KEY_NAME = "NAME";
static String KEY_INFO = "INFO";
static String KEY_COMPLETEDELBS = "COMPLETEDELBS";
//权限相关
static String KEY_DENY = "DENY";
static String KEY_ALLOW = "ALLOW";
static String KEY_SESSIONKEY = "SESSIONKEY";
//短信相关
static String KEY_SENDER = "SENDER";
static String KEY_FUNNO = "FUNCNO";
static String KEY_RECEIVER = "RECEIVER";
static String KEY_RECEIVERUIN = "RECEIVERUIN";
static String KEY_SMS = "SMS";
static String KEY_CUT = "CUT";
static String KEY_DELFLAG = "DELFLAG";
//RTXServer业务逻辑
static String KEY_RECVUSERS = "RECVUSERS";
static String KEY_IMMSG = "IMMSG";
//消息提醒
static String KEY_MSGID = "MSGID";
static String KEY_MSGINFO = "MSGINFO";
static String KEY_ASSISTANTTYPE = "ASSTYPE";
static String KEY_TITLE = "TITLE";
//结果集合的描述
static String KEY_RESULT_INCODE = "INNERCODE"; //内部错误
static String KEY_RESULT_CODE = "CODE"; //返回错误
static String KEY_RESULT_TYPE = "TYPE"; //返回类型
static String KEY_RESULT_NAME = "NAME";
static String KEY_RESULT_VALUE = "VALUE";
static String KEY_RESULT_VARIANT= "VARIANT";
static {
System.loadLibrary("SDKAPIJava");
}
public native boolean Init();
public native void UnInit();
public native String GetError(int iCode);
public native String GetVersion();
public native int GetNewObject(String szObjectName);
public native String GetObjectName(int iObjectHandle);
public native int SetObjectName(int iObjectHandle, String szObjectName);
public native int GetNewPropertys();
public native int IsHandle(int iHandle);
public native int AddRefHandle(int iHandle);
public native int ReleaseHandle(int iHandle);
public native int AddProperty(int iHandle, String szName, String szValue);
public native int ClearProperty(int iPropertyHandle, int iIndex);
public native int RemoveProperty(int iPropertyHandle, String szName);
public native String GetProperty(int iPropertyHandle, String szName);
public native int SetServerIP(int iObjectHandle, String szServerIP);
public native String GetServerIP(int iObjectHandle);
public native int GetServerPort(int iObjectHandle);
public native int SetServerPort(int iObjectHandle, int iPort);
public native int GetPropertysCount(int iHandle);
public native int GetPropertysItem(int iHandle, int iIndex);
public native int Call(int iObjectHandle, int iPropertyHandle, int iCmdID);
public native int GetResultPropertys(int iHandle);
public native int GetResultInt(int iHandle);
public native String GetResultString(int iHandle);
public String GetPropertyItemName(int iHandle)
{
return GetProperty(iHandle, KEY_RESULT_NAME);
}
public String GetPropertyItemValue(int iHandle)
{
return GetProperty(iHandle, KEY_RESULT_VALUE);
}
public int GetResultInnerCode(int iHandle)
{
String sz= GetProperty(iHandle, KEY_RESULT_INCODE);
return Integer.parseInt(sz);
}
public int GetResultCode(int iHandle)
{
String sz= GetProperty(iHandle, KEY_RESULT_CODE);
return Integer.parseInt(sz);
}
public int GetResultType(int iHandle)
{
String sz= GetProperty(iHandle, KEY_RESULT_TYPE);
return Integer.parseInt(sz);
}
public int SendSm2(String szSender,String szReceiver,String szSmInfo, int iAutoCut)
{
int iObj = GetNewObject(OBJNAME_SMSMANAGER);
int iProp = GetNewPropertys();
AddProperty(iProp, KEY_SENDER, szSender);
AddProperty(iProp, KEY_RECEIVER, szReceiver);
AddProperty(iProp, KEY_SMS, szSmInfo);
if( iAutoCut > 0)
{
AddProperty(iProp, KEY_CUT, "1");
}
int iResult = Call(iObj, iProp, PRO_SMS_SEND);
int iCode = GetResultCode(iResult);
if(iCode != 0 )
{
System.out.println("含错误结果:"+ GetResultString(iResult));
}
else
{
String sz = String.valueOf(iResult);
System.out.println("结果:"+ GetError(iCode));
}
ReleaseHandle(iObj);
ReleaseHandle(iProp);
ReleaseHandle(iResult);
return 0;
}
public int Notify(String szReceivers,String szMsg, String szType, String szTitle)
{
int iObj = GetNewObject(OBJNAME_RTXEXT);
int iProp = GetNewPropertys();
AddProperty(iProp, KEY_USERNAME, szReceivers);
AddProperty(iProp, KEY_TITLE, szTitle);
AddProperty(iProp, KEY_MSGINFO, szMsg);
AddProperty(iProp, KEY_TYPE, szType);
AddProperty(iProp, KEY_MSGID, "0");
AddProperty(iProp, KEY_ASSISTANTTYPE, "0");
int iResult = Call(iObj, iProp, PRO_EXT_NOTIFY);
int iCode = GetResultCode(iResult);
if(iCode != 0 )
{
System.out.println("错误结果:"+ GetResultString(iResult));
}
else
{
String sz = String.valueOf(iResult);
System.out.println("结果:"+ GetError(iCode));
}
ReleaseHandle(iObj);
ReleaseHandle(iProp);
ReleaseHandle(iResult);
return iCode;
}
public int SendIM(String szSender, String szReceivers, String szMsg)
{
int iObj = GetNewObject(OBJNAME_RTXSYS);
int iProp = GetNewPropertys();
AddProperty(iProp, KEY_SENDER, szSender);
AddProperty(iProp, KEY_RECVUSERS, szReceivers);
AddProperty(iProp, KEY_IMMSG, szMsg);
int iResult = Call(iObj, iProp, PRO_SYS_SENDIM);
int iCode = GetResultCode(iResult);
if(iCode != 0 )
{
System.out.println("错误结果:"+ GetResultString(iResult));
}
else
{
String sz = String.valueOf(iResult);
System.out.println("结果:"+ GetError(iCode));
}
ReleaseHandle(iObj);
ReleaseHandle(iProp);
ReleaseHandle(iResult);
return iCode;
}
public int QueryUserState(String szUser)
{
int iObj = GetNewObject(OBJNAME_RTXSYS);
int iProp = GetNewPropertys();
AddProperty(iProp, KEY_USERNAME, szUser);
int iResult = Call(iObj, iProp, PRO_SYS_GETUSERSTATUS);
int iCode = GetResultCode(iResult);
if(iCode != 0 )
{
System.out.println("错误结果:"+ GetResultString(iResult));
}
else
{
System.out.println("结果:"+ GetResultString(iResult));
}
ReleaseHandle(iObj);
ReleaseHandle(iProp);
ReleaseHandle(iResult);
return iCode;
}
public int GetUserInfo(String szUser)
{
int iObj = GetNewObject(OBJNAME_USERMANAGER);
int iProp = GetNewPropertys();
AddProperty(iProp, KEY_USERNAME, szUser);
int iResult = Call(iObj, iProp, PRO_GETUSER);
int iCode = GetResultCode(iResult);
if(iCode != 0 )
{
System.out.println("错误结果:"+ GetResultString(iResult));
}
else
{
int iProps = GetResultPropertys(iResult);
int iCount = GetPropertysCount(iProps);
for(int i=0; i<iCount; i++)
{
int iHandle = GetPropertysItem(iProps, i);
System.out.println(GetPropertyItemName(iHandle) + ":\t" + GetPropertyItemValue(iHandle));
ReleaseHandle(iHandle);
}
}
ReleaseHandle(iObj);
ReleaseHandle(iProp);
ReleaseHandle(iResult);
return iCode;
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -