소스 검색

临时房间

gemercheung 2 년 전
부모
커밋
9318d88ddd
2개의 변경된 파일11개의 추가작업 그리고 9개의 파일을 삭제
  1. 2 2
      src/room/delay/delay.service.ts
  2. 9 7
      src/room/temp/temp.service.ts

+ 2 - 2
src/room/delay/delay.service.ts

@@ -56,8 +56,8 @@ export class DelayService {
 
   async handleTempRoomExpiredSubscribe(key: string) {
     const tKey = key.replace('kankan:socket:tempRoom:', '');
-    const params = tKey.split(':');
-    const RoomId = params[0];
+    // const params = tKey.split(':');
+    const RoomId = tKey;
     // const UserId = params[1];
     this.roomService.logger.warn(`解散临时房间 :${RoomId}`, 'temp-room');
     await this.roomService.handleRoomDismiss(RoomId);

+ 9 - 7
src/room/temp/temp.service.ts

@@ -28,16 +28,18 @@ export class TempService {
   }
   async handleInitRoom(socket: Socket) {
     const { RoomId, UserId, Role } = socket.data.user;
-    const temp_key_init = `kankan:socket:tempRoom:${RoomId}:${UserId}`;
-    // const delayTime = 60 * 60;
-    const delayTime = 60 * 1;
+    const temp_key_init = `kankan:socket:tempRoom:${RoomId}`;
+    const delayTime = 60 * 60;
+    // const delayTime = 60 * 1;
     const isExist = await this.redis.exists(temp_key_init);
+    console.log('isExist', isExist);
     if (!isExist) {
       if (Role === 'leader') {
-        this.redis.set(temp_key_init, '', 'EX', delayTime);
-        this.roomService.socketGateway.server
-          .to(RoomId)
-          .emit('action', { type: 'room-valid-time', data: { delayTime } });
+        await this.redis.set(temp_key_init, UserId, 'EX', delayTime);
+        this.roomService.socketGateway.server.to(RoomId).emit('action', {
+          type: 'room-valid-time',
+          data: { ttl: delayTime },
+        });
       }
     } else {
       const ttl = await this.redis.ttl(temp_key_init);