|
@@ -653,7 +653,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
//获取在线人员信息
|
|
//获取在线人员信息
|
|
RMap<Integer, String> onlineUserCache = getOnlineUserCache(roomUid);
|
|
RMap<Integer, String> onlineUserCache = getOnlineUserCache(roomUid);
|
|
//删除人员对应直播间编号信息
|
|
//删除人员对应直播间编号信息
|
|
- onlineUserCache.forEach((id,s) -> redissonClient.getBucket(LIVE_USER_ROOM.replace(USER_ID, id.toString())).delete());
|
|
|
|
|
|
+ onlineUserCache.forEach((id, s) -> redissonClient.getBucket(LIVE_USER_ROOM.replace(USER_ID, id.toString())).delete());
|
|
//删除直播间所有用户数据
|
|
//删除直播间所有用户数据
|
|
roomTotalUserCache.delete();
|
|
roomTotalUserCache.delete();
|
|
//删除在线用户数据
|
|
//删除在线用户数据
|
|
@@ -720,21 +720,26 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
Integer userId = Integer.valueOf(userid);
|
|
Integer userId = Integer.valueOf(userid);
|
|
|
|
|
|
//从房间累计用户信息中查询该用户的信息
|
|
//从房间累计用户信息中查询该用户的信息
|
|
- RMap<Integer, String> roomTotalUser = getTotalUserCache(roomUid);
|
|
|
|
|
|
+ RMap<Integer, String> roomTotalUser = this.getTotalUserCache(roomUid);
|
|
//该房间未查询到用户数据则不处理
|
|
//该房间未查询到用户数据则不处理
|
|
- if (!roomTotalUser.isExists() && !roomTotalUser.containsKey(userId)) {
|
|
|
|
|
|
+ if (!roomTotalUser.isExists()) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ if (!roomTotalUser.containsKey(userId)) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ String userJsonStr = roomTotalUser.get(userId);
|
|
|
|
+ log.info("opsRoom>>>> userJsonStr {}", userJsonStr);
|
|
//查询用户数据
|
|
//查询用户数据
|
|
- RoomUserInfoVo userInfo = JSONObject.toJavaObject(JSONObject.parseObject(roomTotalUser.get(userId)), RoomUserInfoVo.class);
|
|
|
|
|
|
+ RoomUserInfoVo userInfo = JSONObject.toJavaObject(JSONObject.parseObject(userJsonStr), RoomUserInfoVo.class);
|
|
//如果有动态观看时间则证明主播开播过,需要计算当前用户观看时长
|
|
//如果有动态观看时间则证明主播开播过,需要计算当前用户观看时长
|
|
if (Objects.nonNull(userInfo.getDynamicLookTime())) {
|
|
if (Objects.nonNull(userInfo.getDynamicLookTime())) {
|
|
- userInfo.setTotalViewTime(getLookMinutes(userInfo.getDynamicLookTime(), userInfo.getTotalViewTime()));
|
|
|
|
|
|
+ userInfo.setTotalViewTime(this.getLookMinutes(userInfo.getDynamicLookTime(), userInfo.getTotalViewTime()));
|
|
userInfo.setDynamicLookTime(null);
|
|
userInfo.setDynamicLookTime(null);
|
|
}
|
|
}
|
|
roomTotalUser.fastPut(userId, JSONObject.toJSONString(userInfo));
|
|
roomTotalUser.fastPut(userId, JSONObject.toJSONString(userInfo));
|
|
//查询在线人员列表
|
|
//查询在线人员列表
|
|
- RMap<Integer, String> onlineUserInfo = getOnlineUserCache(roomUid);
|
|
|
|
|
|
+ RMap<Integer, String> onlineUserInfo = this.getOnlineUserCache(roomUid);
|
|
if (!onlineUserInfo.isExists()) {
|
|
if (!onlineUserInfo.isExists()) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|