|
@@ -663,6 +663,25 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
userInfo.setDynamicLookTime(null);
|
|
|
}
|
|
|
roomTotalUser.fastPut(userId, userInfo);
|
|
|
+ //如果是最后一个人离开房间则发送一条消息给主播
|
|
|
+ if (onlineUserInfo.isExists() && onlineUserInfo.size() == 1) {
|
|
|
+ //发送消息到直播间
|
|
|
+ ImRoomMessage message = new ImRoomMessage();
|
|
|
+ message.setFromUserId(userId.toString());
|
|
|
+ message.setToChatroomId(roomUid);
|
|
|
+ message.setObjectName(ImRoomMessage.MEMBER_COUNT);
|
|
|
+ message.setContent(new HashMap<String, Integer>() {{
|
|
|
+ put("count", 0);
|
|
|
+ }});
|
|
|
+ //发送消息
|
|
|
+ try {
|
|
|
+ imFeignService.publishRoomMsg(message);
|
|
|
+ log.info("sendLiveOnlineNum>>>> speakerId room:{}", JSONObject.toJSONString(message));
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("sendLiveOnlineNum>>>> speakerId error {}", e.getMessage());
|
|
|
+ log.error("sendLiveOnlineNum>>>> speakerId sendMessage {} :", JSONObject.toJSONString(message));
|
|
|
+ }
|
|
|
+ }
|
|
|
//从在线人员列表删除该人员
|
|
|
onlineUserInfo.fastRemove(userId);
|
|
|
log.info("opsRoom>>>> looker userInfo: {}", JSONObject.toJSONString(userInfo));
|