diff --git a/src/modules/orders/listeners/order.listeners.ts b/src/modules/orders/listeners/order.listeners.ts index 4298611..7921143 100644 --- a/src/modules/orders/listeners/order.listeners.ts +++ b/src/modules/orders/listeners/order.listeners.ts @@ -15,6 +15,7 @@ export class OrderListeners { private readonly logger = new Logger(OrderListeners.name); private orderCreatedSmsTemplateId: string; private orderStatusChangedSmsTemplateId: string; + private orderCompletedSmsTemplateId: string; constructor( private readonly adminService: AdminRepository, private readonly OrderRepository: OrderRepository, @@ -23,6 +24,7 @@ export class OrderListeners { ) { this.orderCreatedSmsTemplateId = this.configService.get('SMS_PATTERN_ORDER_CREATED') ?? '123'; this.orderStatusChangedSmsTemplateId = this.configService.get('SMS_PATTERN_ORDER_STATUS_CHANGE') ?? '123'; + this.orderCompletedSmsTemplateId = this.configService.get('SMS_PATTERN_ORDER_STATUS_COMPLETED') ?? '123'; } private getStatusFarsi(status: OrderStatus): string { @@ -103,33 +105,62 @@ export class OrderListeners { userId: event.userId, }, ]; - await this.notificationService.sendNotification({ - restaurantId: event.restaurantId, - message: { - title: NotifTitleEnum.ORDER_STATUS_CHANGED, - content: `وضعیت سفارش شماره ${event.orderNumber} به ${this.getStatusFarsi(event.newStatus)} تغییر کرد`, - sms: { - templateId: this.orderStatusChangedSmsTemplateId, - parameters: { - orderNumber: event.orderNumber, - status: event.newStatus, + if(event.newStatus === OrderStatus.COMPLETED) { + await this.notificationService.sendNotification({ + restaurantId: event.restaurantId, + message: { + title: NotifTitleEnum.ORDER_STATUS_CHANGED, + content: `لطفا ثبت نظر سفارش ${event.orderNumber} به اپ مراجعه کنید`, + sms: { + templateId: this.orderCreatedSmsTemplateId , + parameters: { + orderNumber: event.orderNumber, + }, + }, + pushNotif: { + title: `تغییر وضعیت سفارش`, + content: `لطفا ثبت نظر سفارش ${event.orderNumber} به اپ مراجعه کنید`, + icon: `/`, + action: { + type: NotifTitleEnum.ORDER_STATUS_CHANGED, + url: ``, + }, }, }, - pushNotif: { - title: `تغییر وضعیت سفارش`, + recipients, + metadata: { + priority: 1, + }, + }); + }else{ + await this.notificationService.sendNotification({ + restaurantId: event.restaurantId, + message: { + title: NotifTitleEnum.ORDER_STATUS_CHANGED, content: `وضعیت سفارش شماره ${event.orderNumber} به ${this.getStatusFarsi(event.newStatus)} تغییر کرد`, - icon: `/`, - action: { - type: NotifTitleEnum.ORDER_STATUS_CHANGED, - url: ``, + sms: { + templateId: this.orderStatusChangedSmsTemplateId, + parameters: { + orderNumber: event.orderNumber, + status: this.getStatusFarsi(event.newStatus), + }, + }, + pushNotif: { + title: `تغییر وضعیت سفارش`, + content: `وضعیت سفارش شماره ${event.orderNumber} به ${this.getStatusFarsi(event.newStatus)} تغییر کرد`, + icon: `/`, + action: { + type: NotifTitleEnum.ORDER_STATUS_CHANGED, + url: ``, + }, }, }, - }, - recipients, - metadata: { - priority: 1, - }, - }); + recipients, + metadata: { + priority: 1, + }, + }); + } } catch (error) { this.logger.error( `Failed to send notification for order status changed event: ${event.restaurantId}`, diff --git a/src/modules/payments/listeners/payment.listeners.ts b/src/modules/payments/listeners/payment.listeners.ts index 9181130..731bb1a 100644 --- a/src/modules/payments/listeners/payment.listeners.ts +++ b/src/modules/payments/listeners/payment.listeners.ts @@ -126,9 +126,6 @@ export class PaymentListeners { ); return; } - if (order.paymentMethod.method === PaymentMethodEnum.Online) { - return; - } const userRecipients = [ { userId: order.user.id,