send noti after successfull online payment

This commit is contained in:
2025-12-23 22:23:31 +03:30
parent 91d37a4faa
commit b409f0b49f
2 changed files with 53 additions and 25 deletions
@@ -15,6 +15,7 @@ export class OrderListeners {
private readonly logger = new Logger(OrderListeners.name); private readonly logger = new Logger(OrderListeners.name);
private orderCreatedSmsTemplateId: string; private orderCreatedSmsTemplateId: string;
private orderStatusChangedSmsTemplateId: string; private orderStatusChangedSmsTemplateId: string;
private orderCompletedSmsTemplateId: string;
constructor( constructor(
private readonly adminService: AdminRepository, private readonly adminService: AdminRepository,
private readonly OrderRepository: OrderRepository, private readonly OrderRepository: OrderRepository,
@@ -23,6 +24,7 @@ export class OrderListeners {
) { ) {
this.orderCreatedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_CREATED') ?? '123'; this.orderCreatedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_CREATED') ?? '123';
this.orderStatusChangedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_STATUS_CHANGE') ?? '123'; this.orderStatusChangedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_STATUS_CHANGE') ?? '123';
this.orderCompletedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_STATUS_COMPLETED') ?? '123';
} }
private getStatusFarsi(status: OrderStatus): string { private getStatusFarsi(status: OrderStatus): string {
@@ -103,6 +105,34 @@ export class OrderListeners {
userId: event.userId, userId: event.userId,
}, },
]; ];
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: ``,
},
},
},
recipients,
metadata: {
priority: 1,
},
});
}else{
await this.notificationService.sendNotification({ await this.notificationService.sendNotification({
restaurantId: event.restaurantId, restaurantId: event.restaurantId,
message: { message: {
@@ -112,7 +142,7 @@ export class OrderListeners {
templateId: this.orderStatusChangedSmsTemplateId, templateId: this.orderStatusChangedSmsTemplateId,
parameters: { parameters: {
orderNumber: event.orderNumber, orderNumber: event.orderNumber,
status: event.newStatus, status: this.getStatusFarsi(event.newStatus),
}, },
}, },
pushNotif: { pushNotif: {
@@ -130,6 +160,7 @@ export class OrderListeners {
priority: 1, priority: 1,
}, },
}); });
}
} catch (error) { } catch (error) {
this.logger.error( this.logger.error(
`Failed to send notification for order status changed event: ${event.restaurantId}`, `Failed to send notification for order status changed event: ${event.restaurantId}`,
@@ -126,9 +126,6 @@ export class PaymentListeners {
); );
return; return;
} }
if (order.paymentMethod.method === PaymentMethodEnum.Online) {
return;
}
const userRecipients = [ const userRecipients = [
{ {
userId: order.user.id, userId: order.user.id,