send noti after order status completed

This commit is contained in:
2025-12-24 23:11:55 +03:30
parent 8195d8780b
commit ad1ae13afa
+15 -15
View File
@@ -7,7 +7,7 @@ import { PaymentMethodEnum, PaymentStatusEnum } from '../../payments/interface/p
import { InventoryService } from '../../inventory/inventory.service';
import { OrderStatus } from '../interface/order.interface';
import { Order } from '../entities/order.entity';
// import { OrderStatusChangedEvent } from '../events/order.events';
import { OrderStatusChangedEvent } from '../events/order.events';
@Injectable()
export class OrdersCrone {
@@ -16,7 +16,7 @@ export class OrdersCrone {
constructor(
private readonly em: EntityManager,
private readonly inventoryService: InventoryService,
// private readonly eventEmitter: EventEmitter2,
private readonly eventEmitter: EventEmitter2,
) { }
// run every minute and fail pending online payments older than 15 minutes
@@ -24,7 +24,7 @@ export class OrdersCrone {
name: 'failOldOnlinePayments',
timeZone: 'UTC',
})
async handleCron() {
async cancelOldOnlinePendingOrders() {
try {
const cutoff = new Date(Date.now() - 15 * 60 * 1000);
@@ -161,18 +161,18 @@ export class OrdersCrone {
await em.flush();
// // Emit event after transaction completes
// this.eventEmitter.emit(
// OrderStatusChangedEvent.name,
// new OrderStatusChangedEvent(
// reloadedOrder.id,
// reloadedOrder.user?.id || '',
// String(reloadedOrder.orderNumber) || '',
// restaurantId,
// previousStatus,
// OrderStatus.COMPLETED,
// 'admin',
// ),
// );
this.eventEmitter.emit(
OrderStatusChangedEvent.name,
new OrderStatusChangedEvent(
reloadedOrder.id,
reloadedOrder.user?.id || '',
String(reloadedOrder.orderNumber) || '',
restaurantId,
previousStatus,
OrderStatus.COMPLETED,
'admin',
),
);
this.logger.log(`Marked order ${reloadedOrder.id} as completed`);
});