fix: done queue not update call time

pull/115/head
shancheas 2024-12-03 11:05:03 +07:00
parent f661276c58
commit d71c2096b8
4 changed files with 22 additions and 7 deletions

View File

@ -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`,

View File

@ -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<PaginationResponse<Queue>> {
@ -34,9 +38,9 @@ export class QueueAdminOrchestrator {
}
async done(dataId): Promise<string> {
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();
}
}

View File

@ -38,3 +38,10 @@ export class CallQueueManager extends BaseUpdateStatusManager<Queue> {
return [];
}
}
@Injectable()
export class DoneQueueManager extends CallQueueManager {
async beforeProcess(): Promise<void> {
return;
}
}

View File

@ -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,