Ver código fonte

优化3-每3秒像正在直播的直播间发送

hgw 3 anos atrás
pai
commit
f0d1b0fb52

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -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));