Pārlūkot izejas kodu

修改关闭直播间进行数据统计后删除缓存的逻辑

hgw 3 gadi atpakaļ
vecāks
revīzija
1e1da916d6

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

@@ -601,18 +601,18 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
                     member.setTotalTime(speakerLiveTime);
                 }
             }
+            //添加人员数据
             Lists.partition(memberList, 500)
                     .forEach(list -> liveBroadcastRoomMemberService.getDao().insertBatch(list));
-            //删除用户对应的直播间关系缓存
-            memberList.stream()
-                    .map(ImLiveBroadcastRoomMember::getUserId)
-                    .filter(Objects::nonNull)
-                    .forEach(id -> redissonClient.getBucket(LIVE_USER_ROOM.replace(USER_ID, id.toString())).delete());
         }
+        //获取在线人员信息
+        RMap<Integer, String> onlineUserCache = getOnlineUserCache(roomUid);
+        //删除人员对应直播间编号信息
+        onlineUserCache.forEach((id,s) -> redissonClient.getBucket(LIVE_USER_ROOM.replace(USER_ID, id.toString())).delete());
         //删除直播间所有用户数据
         roomTotalUserCache.delete();
         //删除在线用户数据
-        getOnlineUserCache(roomUid).delete();
+        onlineUserCache.delete();
     }
 
     /**