diff --git a/src/com/zchd/zim/ImChatService.java b/src/com/zchd/zim/ImChatService.java index 4cf9c9e..71c7f06 100644 --- a/src/com/zchd/zim/ImChatService.java +++ b/src/com/zchd/zim/ImChatService.java @@ -201,7 +201,7 @@ public class ImChatService extends BaseService { zhub.broadcast("im:channel:" + message.buildChannelid(), message); } - private String getGuserid(int userid) { + protected String getGuserid(int userid) { if (userid == 0) { return "0"; } diff --git a/src/com/zchd/zim/ImMessageMonitor.java b/src/com/zchd/zim/ImMessageMonitor.java index 73699a5..adbec10 100644 --- a/src/com/zchd/zim/ImMessageMonitor.java +++ b/src/com/zchd/zim/ImMessageMonitor.java @@ -74,6 +74,8 @@ public class ImMessageMonitor extends BaseService { list.forEach(x -> { subscribeChannel(userid, x.buildChannelid()); }); + // 推送上线状态 + zhub.publish("im:online", chatService.getGuserid(userid)); // 开启对点订阅 zhub.subscribe("im:friend:" + userid, new TypeToken() { @@ -91,6 +93,8 @@ public class ImMessageMonitor extends BaseService { // 取消点对点订阅 zhub.unsubscribe("im:friend:" + userid); + // 推送离线状态 + zhub.publish("im:offline", chatService.getGuserid(userid)); // 取消频道订阅 List list = chatService.userChannels(userid);