sms-setting and campain

This commit is contained in:
2026-07-09 19:12:23 +03:30
parent 1dd2813a01
commit ffb95149cf
33 changed files with 2745 additions and 6 deletions
+19 -1
View File
@@ -21,6 +21,7 @@ import { UpdateReserveDto } from './dto/update-reserve.dto';
import { ReserveItem } from './entities/reserve-item.entity';
import { ReserveStatusHistory } from './entities/reserve-status-history.entity';
import { Reserve } from './entities/reserve.entity';
import { ReserveSmsService } from '../sms-settings/reserve-sms.service';
import { ReserveStatus } from './enums/reserve-status.enum';
@Injectable()
@@ -41,6 +42,7 @@ export class ReservesService {
private readonly stylistsService: StylistsService,
private readonly authorizationService: AuthorizationService,
private readonly reservePolicy: ReservePolicy,
private readonly reserveSmsService: ReserveSmsService,
) {}
async create(
@@ -94,6 +96,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);
await this.reserveSmsService.sendReserveCreated(saved.id);
return this.findOne(saved.id, user);
}
@@ -235,6 +238,7 @@ export class ReservesService {
}
if (status !== undefined) {
const previousStatus = reserve.status;
if (status !== reserve.status) {
await this.logStatusChange(reserve.id, reserve.status, status, user.id);
}
@@ -244,7 +248,20 @@ export class ReservesService {
} else if (cancellationReason !== undefined) {
reserve.cancellationReason = cancellationReason;
}
} else if (cancellationReason !== undefined) {
await this.reservesRepository.save(reserve);
if (
status === ReserveStatus.CANCELLED &&
previousStatus !== ReserveStatus.CANCELLED
) {
await this.reserveSmsService.sendReserveCancelled(reserve.id);
}
return this.findOne(id, user);
}
if (cancellationReason !== undefined) {
reserve.cancellationReason = cancellationReason;
}
@@ -290,6 +307,7 @@ export class ReservesService {
reserve.status = ReserveStatus.CONFIRMED;
await this.reservesRepository.save(reserve);
await this.reserveSmsService.sendReserveConfirmed(reserve.id);
}
private async logStatusChange(