新增:用户上下线事件推送

This commit is contained in:
绝尘 2024-07-26 18:56:27 +08:00
parent 22ab521876
commit df343d2731
2 changed files with 5 additions and 1 deletions

View File

@ -201,7 +201,7 @@ public class ImChatService extends BaseService {
zhub.broadcast("im:channel:" + message.buildChannelid(), message); zhub.broadcast("im:channel:" + message.buildChannelid(), message);
} }
private String getGuserid(int userid) { protected String getGuserid(int userid) {
if (userid == 0) { if (userid == 0) {
return "0"; return "0";
} }

View File

@ -74,6 +74,8 @@ public class ImMessageMonitor extends BaseService {
list.forEach(x -> { list.forEach(x -> {
subscribeChannel(userid, x.buildChannelid()); subscribeChannel(userid, x.buildChannelid());
}); });
// 推送上线状态
zhub.publish("im:online", chatService.getGuserid(userid));
// 开启对点订阅 // 开启对点订阅
zhub.subscribe("im:friend:" + userid, new TypeToken<FriendMessage>() { zhub.subscribe("im:friend:" + userid, new TypeToken<FriendMessage>() {
@ -91,6 +93,8 @@ public class ImMessageMonitor extends BaseService {
// 取消点对点订阅 // 取消点对点订阅
zhub.unsubscribe("im:friend:" + userid); zhub.unsubscribe("im:friend:" + userid);
// 推送离线状态
zhub.publish("im:offline", chatService.getGuserid(userid));
// 取消频道订阅 // 取消频道订阅
List<ChannelUser> list = chatService.userChannels(userid); List<ChannelUser> list = chatService.userChannels(userid);