From 0020f95a61676614864512b8b76490bc67d034ef Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Fri, 10 Jul 2026 14:35:05 +0330 Subject: [PATCH] fix --- src/payments/card-to-card-deposit.service.ts | 12 +++++++----- src/reserves/reserves.service.ts | 6 +----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/payments/card-to-card-deposit.service.ts b/src/payments/card-to-card-deposit.service.ts index 6c0efd3..c5c751a 100644 --- a/src/payments/card-to-card-deposit.service.ts +++ b/src/payments/card-to-card-deposit.service.ts @@ -19,7 +19,6 @@ import { ReserveStatus } from '../reserves/enums/reserve-status.enum'; import { ReservesService } from '../reserves/reserves.service'; import { calculateSmsParts } from '../sms/helpers/sms-segment.helper'; import { SmsService } from '../sms/sms.service'; -import { ReserveSmsService } from '../sms-settings/reserve-sms.service'; import { SmsDispatchService } from '../sms-settings/sms-dispatch.service'; import { SmsScenarioKey } from '../sms-settings/enums/sms-scenario-key.enum'; import { buildReserveSmsVariables } from '../sms-settings/utils/build-reserve-sms-variables.util'; @@ -36,6 +35,8 @@ import { PaymentStatus } from './enums/payment-status.enum'; import { PaymentType } from './enums/payment-type.enum'; const MIN_AMOUNT_TOMAN = 100; +/** Gives the reserve-created SMS time to reach the customer before the deposit link SMS. */ +const DEPOSIT_SMS_DELAY_MS = 2_500; @Injectable() export class CardToCardDepositService { @@ -50,7 +51,6 @@ export class CardToCardDepositService { private readonly authorizationService: AuthorizationService, private readonly salonFinancialSettingsService: SalonFinancialSettingsService, private readonly uploaderService: UploaderService, - private readonly reserveSmsService: ReserveSmsService, private readonly smsDispatchService: SmsDispatchService, private readonly smsService: SmsService, private readonly shortLinksService: ShortLinksService, @@ -148,9 +148,7 @@ export class CardToCardDepositService { const variables = buildReserveSmsVariables(reserve); const mobile = reserve.customer?.user?.mobile; if (mobile) { - if (!existingPending) { - await this.reserveSmsService.sendReserveCreated(reserve.id); - } + await this.delay(DEPOSIT_SMS_DELAY_MS); await this.sendDepositSms( SmsScenarioKey.DEPOSIT_PAYMENT_REQUEST, @@ -382,6 +380,10 @@ export class CardToCardDepositService { return this.smsService.sendSms(mobile, message); } + private delay(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); + } + private tomanToRial(amountToman: number): number { return Math.round(amountToman * 10); } diff --git a/src/reserves/reserves.service.ts b/src/reserves/reserves.service.ts index b818d05..5850846 100644 --- a/src/reserves/reserves.service.ts +++ b/src/reserves/reserves.service.ts @@ -104,11 +104,7 @@ export class ReservesService { const saved = await this.reservesRepository.save(reserve); await this.customersService.linkToSalon(saved.salonId, saved.customerId); await this.logStatusChange(saved.id, null, saved.status, user.id); - // When a deposit is required, the reserve-created SMS is sent from the - // deposit request flow so it always arrives before the payment link SMS. - if (saved.depositAmount <= 0) { - await this.reserveSmsService.sendReserveCreated(saved.id); - } + await this.reserveSmsService.sendReserveCreated(saved.id); await this.salonNotificationsService.notifyReserveCreated(saved.id); return this.findOne(saved.id, user); }