Ver código fonte

写入缓存

liujc 1 ano atrás
pai
commit
36d40f655f

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

@@ -712,6 +712,10 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
         // room.setRoomState(1);
         this.updateById(room);
 
+
+        //获取所有直播间缓存数据并写入数据库后并清理缓存
+        CompletableFuture.runAsync(() -> insertAndCleanLiveData(room.getRoomUid(), room.getSpeakerId()));
+
         String speakerIdStr = room.getSpeakerId().toString();
         String roomUid = room.getRoomUid();
 
@@ -728,7 +732,6 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
         } catch (Exception e) {
             log.error("destroyLiveRoom>>>>  FORCED_OFFLINE {}", e.getMessage());
         }
-        tryDestroyLiveRoom(room);
 
         Date now = new Date();
         //删除人员与房间关联关系缓存的方法
@@ -751,8 +754,8 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
                     .eq(StudentAttendance::getCourseScheduleId,schedule.getId())
                     .set(StudentAttendance::getSignOutTime, now));
         });
-        //删除房间在线人员缓存
-        onlineUserCache.deleteAsync();
+
+        tryDestroyLiveRoom(room);
         //删除房间信息
         this.getLiveRoomInfo(roomUid).deleteAsync();
         //删除点赞数