Browse Source

优化:销毁房间代码逻辑

hgw 3 years ago
parent
commit
bcc6b99c79

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

@@ -255,28 +255,25 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
 
     private void destroyExpiredLiveRoom(Date now, ImLiveBroadcastRoom room, int expiredMinute) {
         log.error("roomDestroy destroyExpiredLiveRoom >>>> now {} roomInfo : {} expiredMinute:{}", now, JSONObject.toJSONString(room), expiredMinute);
-        //过期时间= 房间正式开始时间+expiredMinute 分钟
-        Date expiredTime = DateUtil.addMinutes(room.getCreatedTime(), expiredMinute);
-        // 现在 大于等于 过期时间
-        if (now.getTime() >= expiredTime.getTime()) {
-            //获取直播间主讲人信息
-            RBucket<RoomSpeakerInfo> speakerCache = redissonClient.getBucket(LIVE_SPEAKER_INFO.replace(USER_ID, room.getSpeakerId().toString()));
-            if (speakerCache.isExists()) {
-                RoomSpeakerInfo speakerInfo = speakerCache.get();
-                //超过expiredMinute分钟,没有进入房间
-                if (Objects.isNull(speakerInfo.getJoinRoomTime())) {
-                    roomDestroy(room);
-                    log.info("roomDestroy not joinRoom >>>> roomId:{}", room.getId());
-                    return;
-                }
+        //获取直播间主讲人信息
+        RBucket<RoomSpeakerInfo> speakerCache = redissonClient.getBucket(LIVE_SPEAKER_INFO.replace(USER_ID, room.getSpeakerId().toString()));
+        if (speakerCache.isExists()) {
+            RoomSpeakerInfo speakerInfo = speakerCache.get();
+            //过期时间= 房间正式开始时间+expiredMinute 分钟
+            Date expiredTime = DateUtil.addMinutes(room.getCreatedTime(), expiredMinute);
+            // 现在 超过过期时间没有进入房间 则销毁房间
+            if (now.getTime() >= expiredTime.getTime() && Objects.isNull(speakerInfo.getJoinRoomTime())) {
+                roomDestroy(room);
+                log.info("roomDestroy not joinRoom >>>> roomId:{}", room.getId());
+                return;
+            }
 
-                //现在时间 大于 (退出房间的时间 + expiredMinute 分钟),则销毁
-                if (Objects.nonNull(speakerInfo.getExitRoomTime())) {
-                    Date comparedTime = DateUtil.addMinutes(speakerInfo.getExitRoomTime(), expiredMinute);
-                    if (now.getTime() >= comparedTime.getTime() && speakerInfo.getState() != 0) {
-                        roomDestroy(room);
-                        log.info("roomDestroy exitRoom >>>> roomId:{}", room.getId());
-                    }
+            //现在时间 超过 (退出房间的时间 + expiredMinute 分钟) 则销毁房间
+            if (Objects.nonNull(speakerInfo.getExitRoomTime())) {
+                Date comparedTime = DateUtil.addMinutes(speakerInfo.getExitRoomTime(), expiredMinute);
+                if (now.getTime() >= comparedTime.getTime() && speakerInfo.getState() != 0) {
+                    roomDestroy(room);
+                    log.info("roomDestroy exitRoom >>>> roomId:{}", room.getId());
                 }
             }
         }