From 54b9658075a69017028a941cc0b1b0ee94a1d2f9 Mon Sep 17 00:00:00 2001 From: shancheas Date: Tue, 17 Dec 2024 19:26:22 +0700 Subject: [PATCH 1/2] fix: show queue only same day --- .../queue/domain/usecases/index-queue.manager.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/modules/queue/domain/usecases/index-queue.manager.ts b/src/modules/queue/domain/usecases/index-queue.manager.ts index a606a2b..5942bc7 100644 --- a/src/modules/queue/domain/usecases/index-queue.manager.ts +++ b/src/modules/queue/domain/usecases/index-queue.manager.ts @@ -89,10 +89,13 @@ export class IndexQueueManager extends BaseIndexManager { console.log({ start, end, item_queue_id: this.filterParam.queue_id }); - queryBuilder.andWhere(`${this.tableName}.time BETWEEN :start AND :end`, { - start, - end, - }); + queryBuilder.andWhere( + `${this.tableName}.created_at BETWEEN :start AND :end`, + { + start, + end, + }, + ); queryBuilder.andWhere(`${this.tableName}.item_queue_id = :item_queue_id`, { item_queue_id: this.filterParam.queue_id, From d612b6725a5a1905dc8874a0e0ffae2680335012 Mon Sep 17 00:00:00 2001 From: shancheas Date: Tue, 17 Dec 2024 19:27:07 +0700 Subject: [PATCH 2/2] fix: login by new transaction receipt id --- .../queue/data/services/ticket.service.ts | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/modules/queue/data/services/ticket.service.ts b/src/modules/queue/data/services/ticket.service.ts index ed78fc9..24827e4 100644 --- a/src/modules/queue/data/services/ticket.service.ts +++ b/src/modules/queue/data/services/ticket.service.ts @@ -11,6 +11,7 @@ import { } from '../models/queue.model'; import { QueueOrder } from '../../domain/entities/order.entity'; import * as moment from 'moment'; +import { TransactionModel } from 'src/modules/transaction/transaction/data/models/transaction.model'; @Injectable() export class TicketDataService extends BaseDataService { @@ -23,6 +24,9 @@ export class TicketDataService extends BaseDataService { @InjectRepository(QueueItemModel, CONNECTION_NAME.DEFAULT) private item: Repository, + + @InjectRepository(TransactionModel, CONNECTION_NAME.DEFAULT) + private transaction: Repository, ) { super(repo); } @@ -36,13 +40,37 @@ export class TicketDataService extends BaseDataService { } async loginQueue(id: string): Promise { - return this.order.findOneOrFail({ + const order = await this.order.findOne({ relations: ['tickets'], where: [ { transaction_id: id }, { code: id, transaction_id: Not(IsNull()) }, ], }); + + if (!order) { + const { customer_name, customer_phone } = + await this.transaction.findOneOrFail({ + where: { + id, + }, + }); + + const start = moment().startOf('day').valueOf(); + const end = moment().endOf('day').valueOf(); + const order = this.order.findOneOrFail({ + relations: ['tickets'], + where: { + customer: customer_name, + phone: customer_phone, + date: Between(start, end), + }, + }); + + return order; + } + + return order; } async ticketByCode(code: string): Promise {