diff --git a/broker/config/hazelcast.xml b/broker/config/hazelcast.xml
index de68a680..d7e02dff 100755
--- a/broker/config/hazelcast.xml
+++ b/broker/config/hazelcast.xml
@@ -108,13 +108,22 @@
-
-
+
+
+ 604800
+ LRU
+ 1000000
+ 10
+
+ io.moquette.persistence.DeviceLoader
+ 0
+
+
-
+
diff --git a/distribution/src/main/resources/wildfirechat.conf b/distribution/src/main/resources/wildfirechat.conf
index a76c8e08..01e8670d 100755
--- a/distribution/src/main/resources/wildfirechat.conf
+++ b/distribution/src/main/resources/wildfirechat.conf
@@ -193,3 +193,6 @@ sensitive.filter.type 0
#*********************************************************************
##消息转发地址
#message.forward.url http://localhost:8087/message/forward
+
+##设备信息转发地址
+#device.forward.url http://localhost:8087/device/forward
diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java
index 345a2e0d..2a4ccf93 100644
--- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java
+++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java
@@ -73,6 +73,25 @@ public class Main {
System.exit(-1);
}
+ InputCreateDevice createDevice = new InputCreateDevice();
+ createDevice.setDeviceId("deviceId1");
+ createDevice.setOwner("userId1");
+ IMResult resultCreateDevice = UserAdmin.createOrUpdateDevice(createDevice);
+ if (resultCreateDevice != null && resultCreateDevice.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
+ System.out.println("Create device " + resultCreateDevice.getResult().getDeviceId() + " success");
+ } else {
+ System.out.println("Create device failure");
+ System.exit(-1);
+ }
+
+ IMResult getDevice = UserAdmin.getDevice("deviceId1");
+ if (getDevice != null && getDevice.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS && getDevice.getResult().getDeviceId().equals("deviceId1") && getDevice.getResult().getOwner().equals("userId1")) {
+ System.out.println("Get device " + resultCreateDevice.getResult().getDeviceId() + " success");
+ } else {
+ System.out.println("Get device failure");
+ System.exit(-1);
+ }
+
IMResult resultGetUserInfo1 = UserAdmin.getUserByName(userInfo.getName());
if (resultGetUserInfo1 != null && resultGetUserInfo1.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
if (userInfo.getUserId().equals(resultGetUserInfo1.getResult().getUserId())
diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/UserAdmin.java b/sdk/src/main/java/cn/wildfirechat/sdk/UserAdmin.java
index 4012ec5b..789336fe 100644
--- a/sdk/src/main/java/cn/wildfirechat/sdk/UserAdmin.java
+++ b/sdk/src/main/java/cn/wildfirechat/sdk/UserAdmin.java
@@ -2,7 +2,6 @@ package cn.wildfirechat.sdk;
import cn.wildfirechat.common.APIPath;
import cn.wildfirechat.pojos.*;
-import cn.wildfirechat.proto.ProtoConstants;
import cn.wildfirechat.sdk.model.IMResult;
import cn.wildfirechat.sdk.utilities.AdminHttpUtils;
@@ -71,14 +70,18 @@ public class UserAdmin {
return AdminHttpUtils.httpJsonPost(path, inputDestroyUser, Void.class);
}
- //not implement
-// public static IMResult getUserOnlineStatus(String userId) throws Exception {
-// String path = APIPath.User_Get_Online_Status;
-// InputGetUserInfo inputGetUserInfo = new InputGetUserInfo(userId, null);
-// return AdminHttpUtils.httpJsonPost(path, null, OutputUserBlockStatusList.class);
-// }
-
-
+ //仅专业版支持
+ public static IMResult createOrUpdateDevice(InputCreateDevice device) throws Exception {
+ String path = APIPath.CreateOrUpdate_Device;
+ return AdminHttpUtils.httpJsonPost(path, device, OutputCreateDevice.class);
+ }
+ //仅专业版支持
+ public static IMResult getDevice(String deviceId) throws Exception {
+ String path = APIPath.Get_Device;
+ InputDeviceId inputDeviceId = new InputDeviceId();
+ inputDeviceId.setDeviceId(deviceId);
+ return AdminHttpUtils.httpJsonPost(path, inputDeviceId, OutputDevice.class);
+ }
}