liujc 2 лет назад
Родитель
Сommit
bbafd496ee

+ 21 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java

@@ -831,6 +831,27 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
             }
             //这里开始只处理观看者的数据,观看者只接受退出消息 status=0 是进入房间
             if (user.getStatus().equals("0")) {
+
+                // 更新用户在线状态
+                imLiveBroadcastRoomMemberService.lambdaUpdate()
+                        .eq(ImLiveBroadcastRoomMember::getRoomUid, roomVo.getRoomUid())
+                        .eq(ImLiveBroadcastRoomMember::getUserId, user.getUserid())
+                        .set(ImLiveBroadcastRoomMember::getOnlineStatus, 1)
+                        .update();
+
+
+                // 用户进入直播间,发送统计数据
+                // sendLiveRoomStatMessage(userid, roomVo);
+
+                // 缓存JoinRoom用户信息到redis
+                RBucket<Object> bucket = redissonClient.getBucket(RedissonMessageService.LIVE_ROOM_MEMBER + roomUid);
+                if (!bucket.isExists()) {
+                    bucket.set(0, 30, TimeUnit.MINUTES);
+                    // 发布删除缓存消息
+                    redissonMessageService.publish(RedissonMessageService.TOPIC_MESSAGE, roomUid);
+                }
+
+                log.debug("opsRoom>>>> user enter room, userState: {}", JSON.toJSONString(userState));
                 return;
             }
             //用户id