From 9cd28e813029f32d4a5628d537f0aee22036a559 Mon Sep 17 00:00:00 2001 From: mahyargdz Date: Wed, 7 May 2025 11:44:04 +0330 Subject: [PATCH] feat: dont inactive the old suport plan and after pay the invoice make it inactive --- src/modules/invoices/providers/invoices.service.ts | 8 ++++++++ .../notifications/providers/notifications.service.ts | 2 +- .../support-plans/enums/user-support-plan-status.enum.ts | 1 - .../support-plans/providers/support-plans.service.ts | 4 ++-- src/modules/utils/providers/sms.service.ts | 4 ++-- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/modules/invoices/providers/invoices.service.ts b/src/modules/invoices/providers/invoices.service.ts index 9ba2977..a0959cf 100755 --- a/src/modules/invoices/providers/invoices.service.ts +++ b/src/modules/invoices/providers/invoices.service.ts @@ -552,6 +552,14 @@ export class InvoicesService { await this.addNotifyAdminForSubscriptionPaymentToQueue(invoice); // } else if (invoice.items[0]?.supportPlan) { + const oldUserSupportPlan = await queryRunner.manager.findOne(UserSupportPlan, { + where: { user: { id: user.id }, status: UserSupportPlanStatus.ACTIVE }, + }); + + if (oldUserSupportPlan) { + await queryRunner.manager.update(UserSupportPlan, oldUserSupportPlan.id, { status: UserSupportPlanStatus.INACTIVE }); + } + const userSupportPlan = invoice.items[0].supportPlan; userSupportPlan.status = UserSupportPlanStatus.ACTIVE; diff --git a/src/modules/notifications/providers/notifications.service.ts b/src/modules/notifications/providers/notifications.service.ts index 1bec1eb..5052824 100755 --- a/src/modules/notifications/providers/notifications.service.ts +++ b/src/modules/notifications/providers/notifications.service.ts @@ -492,7 +492,7 @@ export class NotificationsService { async createNewCustomerNotification(recipientId: string, data: INewCustomerNotificationData, queryRunner: QueryRunner) { const message = NotificationMessage.NEW_CUSTOMER_MESSAGE.replace("[fullName]", data.fullName); - await this.smsService.sendNewCustomerSms(data.userPhone, data.fullName); + await this.smsService.sendNewCustomerSms(data.userPhone, data.mobile, data.fullName); if (data.userEmail) { await this.emailService.sendAdminNotificationEmail({ userEmail: data.userEmail, diff --git a/src/modules/support-plans/enums/user-support-plan-status.enum.ts b/src/modules/support-plans/enums/user-support-plan-status.enum.ts index 9051da4..3e2038d 100644 --- a/src/modules/support-plans/enums/user-support-plan-status.enum.ts +++ b/src/modules/support-plans/enums/user-support-plan-status.enum.ts @@ -1,5 +1,4 @@ export enum UserSupportPlanStatus { ACTIVE = "ACTIVE", INACTIVE = "INACTIVE", - CANCELLED = "CANCELLED", } diff --git a/src/modules/support-plans/providers/support-plans.service.ts b/src/modules/support-plans/providers/support-plans.service.ts index 07771fc..4c8c78f 100644 --- a/src/modules/support-plans/providers/support-plans.service.ts +++ b/src/modules/support-plans/providers/support-plans.service.ts @@ -249,8 +249,8 @@ export class SupportPlansService { upgradePrice.toNumber(), ); - // cancel old support plan - currentUserSupportPlan.status = UserSupportPlanStatus.CANCELLED; + // inactivate old support plan + // currentUserSupportPlan.status = UserSupportPlanStatus.INACTIVE; await queryRunner.manager.save(this.userSupportPlanRepo.target, currentUserSupportPlan); if (newSupportPlan.isFree) { diff --git a/src/modules/utils/providers/sms.service.ts b/src/modules/utils/providers/sms.service.ts index 0cf1c74..68a8f6a 100755 --- a/src/modules/utils/providers/sms.service.ts +++ b/src/modules/utils/providers/sms.service.ts @@ -666,11 +666,11 @@ export class SmsService { } //************************************************* */ - async sendNewCustomerSms(mobile: string, fullName: string) { + async sendNewCustomerSms(mobile: string, newCustomerMobile: string, fullName: string) { const smsData: ISmsVerifyBody = { Parameters: [ { name: "fullName", value: fullName }, - { name: "mobile", value: mobile }, + { name: "mobile", value: newCustomerMobile }, ], Mobile: mobile, TemplateId: this.smsConfigs.SMS_PATTERN_NEW_CUSTOMER,