fix: queue not generate from POS
continuous-integration/drone/push Build is passing Details

pull/115/head
shancheas 2024-10-30 13:54:09 +07:00
parent c8d0b32cc6
commit dea9989914
3 changed files with 27 additions and 3 deletions

View File

@ -1,12 +1,15 @@
import { EventsHandler, IEventHandler } from '@nestjs/cqrs';
import { TransactionDataService } from 'src/modules/transaction/transaction/data/services/transaction-data.service';
import { TransactionChangeStatusEvent } from 'src/modules/transaction/transaction/domain/entities/event/transaction-change-status.event';
import {
TransactionChangeStatusEvent,
TransactionCreateQueueEvent,
} from 'src/modules/transaction/transaction/domain/entities/event/transaction-change-status.event';
import { TicketDataService } from '../../data/services/ticket.service';
import { QueueOrder } from '../../domain/entities/order.entity';
import { QueueTicket } from '../../domain/entities/ticket.entity';
import { QueueItem } from '../../domain/entities/queue-item.entity';
@EventsHandler(TransactionChangeStatusEvent)
@EventsHandler(TransactionChangeStatusEvent, TransactionCreateQueueEvent)
export class QueueTransactionHandler
implements IEventHandler<TransactionChangeStatusEvent>
{

View File

@ -3,3 +3,7 @@ import { IEvent } from 'src/core/strings/constants/interface.constants';
export class TransactionChangeStatusEvent {
constructor(public readonly data: IEvent) {}
}
export class TransactionCreateQueueEvent {
constructor(public readonly data: IEvent) {}
}

View File

@ -14,7 +14,10 @@ import { TransactionModel } from '../../../data/models/transaction.model';
import { mappingRevertTransaction } from '../managers/helpers/mapping-transaction.helper';
import { apm } from '../../../../../../core/apm';
import { TABLE_NAME } from 'src/core/strings/constants/table.constants';
import { TransactionChangeStatusEvent } from '../../entities/event/transaction-change-status.event';
import {
TransactionChangeStatusEvent,
TransactionCreateQueueEvent,
} from '../../entities/event/transaction-change-status.event';
import { PriceCalculator } from '../calculator/price.calculator';
@EventsHandler(ChangeDocEvent)
@ -120,6 +123,20 @@ export class PosTransactionHandler implements IEventHandler<ChangeDocEvent> {
}),
);
}
if (data.status == STATUS.SETTLED) {
this.eventBus.publish(
new TransactionCreateQueueEvent({
id: data.id,
old: event.data.data,
data: data,
user: BLANK_USER,
description: '',
module: TABLE_NAME.TRANSACTION,
op: OPERATION.UPDATE,
}),
);
}
apmTransactions.result = 'Success';
}
} catch (error) {