@@ -4,7 +4,6 @@ import { OnEvent } from '@nestjs/event-emitter';
44import Redis from 'ioredis' ;
55
66import { AuthService } from '../../../auth/service/auth.service' ;
7- import { EventService } from '../../event/service/event.service' ;
87import { UserService } from '../../user/service/user.service' ;
98import { BookingAdmissionStatusDto } from '../dto/bookingAdmissionStatus.dto' ;
109import { ServerTimeDto } from '../dto/serverTime.dto' ;
@@ -15,15 +14,12 @@ import { InBookingService } from './in-booking.service';
1514import { OpenBookingService } from './open-booking.service' ;
1615import { WaitingQueueService } from './waiting-queue.service' ;
1716
18- const OFFSET = 1000 * 60 * 60 * 9 ;
19-
2017@Injectable ( )
2118export class BookingService {
2219 private logger = new Logger ( BookingService . name ) ;
2320 private readonly redis : Redis | null ;
2421 constructor (
2522 private readonly redisService : RedisService ,
26- private readonly eventService : EventService ,
2723 private readonly authService : AuthService ,
2824 private readonly bookingSeatsService : BookingSeatsService ,
2925 private readonly inBookingService : InBookingService ,
@@ -39,9 +35,11 @@ export class BookingService {
3935 async onSeatsSseDisconnected ( event : { sid : string } ) {
4036 const sid = event . sid ;
4137 const eventId = await this . userService . getUserEventTarget ( sid ) ;
42- await this . collectSeatsIfNotSaved ( eventId , sid ) ;
43- await this . inBookingService . emitSession ( sid ) ;
44- await this . letInNextWaiting ( eventId ) ;
38+ if ( await this . openBookingService . isEventOpened ( eventId ) ) {
39+ await this . collectSeatsIfNotSaved ( eventId , sid ) ;
40+ await this . inBookingService . emitSession ( sid ) ;
41+ await this . letInNextWaiting ( eventId ) ;
42+ }
4543 }
4644
4745 private async collectSeatsIfNotSaved ( eventId : number , sid : string ) {
@@ -100,17 +98,9 @@ export class BookingService {
10098
10199 // 함수 이름 생각하기
102100 async isAdmission ( eventId : number , sid : string ) : Promise < BookingAdmissionStatusDto > {
103- // eventId를 받아서 해당 이벤트가 존재하는지 확인한다.
104- const event = await this . eventService . findEvent ( { eventId } ) ;
105- const now = new Date ( Date . now ( ) + OFFSET ) ;
106101 const isOpened = await this . openBookingService . isEventOpened ( eventId ) ;
107-
108102 if ( ! isOpened ) {
109- throw new BadRequestException ( '아직 예약이 오픈되지 않았습니다.' ) ;
110- } else if ( now >= event . reservationCloseDate ) {
111- //event 시간 확인 이벤트 종료시간 이후인지
112- // 예약 시간이 아닙니다.
113- throw new BadRequestException ( '이미 예약 마감된 이벤트입니다.' ) ;
103+ throw new BadRequestException ( '예약이 오픈되지 않았습니다.' ) ;
114104 }
115105
116106 await this . userService . setUserEventTarget ( sid , eventId ) ;
0 commit comments