From d71c2096b8fa01af5da9baedfc332a440d446859 Mon Sep 17 00:00:00 2001 From: shancheas Date: Tue, 3 Dec 2024 11:05:03 +0700 Subject: [PATCH] fix: done queue not update call time --- .../migrations/1729151429165-queue-table.ts | 2 +- .../queue/domain/queue-admin.orchestrator.ts | 14 +++++++++----- .../queue/domain/usecases/call-queue.manager.ts | 7 +++++++ src/modules/queue/queue.module.ts | 6 +++++- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/database/migrations/1729151429165-queue-table.ts b/src/database/migrations/1729151429165-queue-table.ts index 27f1dd7..cb3b8e8 100644 --- a/src/database/migrations/1729151429165-queue-table.ts +++ b/src/database/migrations/1729151429165-queue-table.ts @@ -15,7 +15,7 @@ export class QueueTable1729151429165 implements MigrationInterface { ); await queryRunner.query( - `ALTER TABLE "queue_tickets" ADD CONSTRAINT "FK_0e9823b8b7ca9523b3be73878e5" FOREIGN KEY ("order_id") REFERENCES "queue_orders"("id") ON DELETE CASCADE ON UPDATE CASCADE`, + `ALTER TABLE "queue_tickets" ADD CONSTRAINT "FK_0e9823b8b7ca9523b3be73878e5" FOREIGN KEY ("order_id") REFERENCES "queue_orders"("id") ON DELETE SET NULL ON UPDATE CASCADE`, ); await queryRunner.query( `ALTER TABLE "queue_items" ADD CONSTRAINT "FK_25352739034765f6917757df74b" FOREIGN KEY ("ticket_id") REFERENCES "queue_tickets"("id") ON DELETE CASCADE ON UPDATE CASCADE`, diff --git a/src/modules/queue/domain/queue-admin.orchestrator.ts b/src/modules/queue/domain/queue-admin.orchestrator.ts index 36be553..30d6b4d 100644 --- a/src/modules/queue/domain/queue-admin.orchestrator.ts +++ b/src/modules/queue/domain/queue-admin.orchestrator.ts @@ -4,7 +4,10 @@ import { IndexQueueManager } from './usecases/index-queue.manager'; import { PaginationResponse } from 'src/core/response/domain/ok-response.interface'; import { Queue } from './entities/queue.entity'; import { TABLE_NAME } from 'src/core/strings/constants/table.constants'; -import { CallQueueManager } from './usecases/call-queue.manager'; +import { + CallQueueManager, + DoneQueueManager, +} from './usecases/call-queue.manager'; import { ORDER_TYPE, QUEUE_STATUS, @@ -17,6 +20,7 @@ export class QueueAdminOrchestrator { private readonly service: QueueService, private indexManager: IndexQueueManager, private callManager: CallQueueManager, + private doneManager: DoneQueueManager, ) {} async index(params): Promise> { @@ -34,9 +38,9 @@ export class QueueAdminOrchestrator { } async done(dataId): Promise { - this.callManager.setData(dataId, QUEUE_STATUS.DONE); - this.callManager.setService(this.service, TABLE_NAME.QUEUE); - await this.callManager.execute(); - return this.callManager.getResult(); + this.doneManager.setData(dataId, QUEUE_STATUS.DONE); + this.doneManager.setService(this.service, TABLE_NAME.QUEUE); + await this.doneManager.execute(); + return this.doneManager.getResult(); } } diff --git a/src/modules/queue/domain/usecases/call-queue.manager.ts b/src/modules/queue/domain/usecases/call-queue.manager.ts index a49ca11..edce656 100644 --- a/src/modules/queue/domain/usecases/call-queue.manager.ts +++ b/src/modules/queue/domain/usecases/call-queue.manager.ts @@ -38,3 +38,10 @@ export class CallQueueManager extends BaseUpdateStatusManager { return []; } } + +@Injectable() +export class DoneQueueManager extends CallQueueManager { + async beforeProcess(): Promise { + return; + } +} diff --git a/src/modules/queue/queue.module.ts b/src/modules/queue/queue.module.ts index 19b2637..a117956 100644 --- a/src/modules/queue/queue.module.ts +++ b/src/modules/queue/queue.module.ts @@ -26,7 +26,10 @@ import { import { QueueAdminController } from './infrastructure/controllers/queue-admin.controller'; import { QueueAdminOrchestrator } from './domain/queue-admin.orchestrator'; import { IndexQueueManager } from './domain/usecases/index-queue.manager'; -import { CallQueueManager } from './domain/usecases/call-queue.manager'; +import { + CallQueueManager, + DoneQueueManager, +} from './domain/usecases/call-queue.manager'; import { RegisterQueueManager } from './domain/usecases/register-queue.manager'; import { QueueBucketModel } from './data/models/queue-bucket.model'; import { QueueBucketReadService } from './data/services/queue-bucket'; @@ -70,6 +73,7 @@ import { QueueTimeFormula } from './domain/usecases/formula/queue-time.formula'; IndexQueueManager, CallQueueManager, + DoneQueueManager, RegisterQueueManager, SplitQueueManager,