From ecc8858f90359eed93679c6eb611bd3b9519ecaf Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Mon, 3 Nov 2025 19:33:33 -0600 Subject: [PATCH] added plataforma --- .../AT/plataforma/dto/create-periodo.dto.ts | 9 ++++++++ .../AT/plataforma/periodo.controller.ts | 4 ++++ src/modules/AT/plataforma/periodo.module.ts | 10 ++++++++ src/modules/AT/plataforma/periodo.service.ts | 23 +++++++++++++++++++ src/operations/operations.service.ts | 11 +++++++-- 5 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 src/modules/AT/plataforma/dto/create-periodo.dto.ts create mode 100644 src/modules/AT/plataforma/periodo.controller.ts create mode 100644 src/modules/AT/plataforma/periodo.module.ts create mode 100644 src/modules/AT/plataforma/periodo.service.ts diff --git a/src/modules/AT/plataforma/dto/create-periodo.dto.ts b/src/modules/AT/plataforma/dto/create-periodo.dto.ts new file mode 100644 index 0000000..adda3d6 --- /dev/null +++ b/src/modules/AT/plataforma/dto/create-periodo.dto.ts @@ -0,0 +1,9 @@ +import { + IsString, + Length, + IsDateString, + IsOptional, + IsBoolean, +} from 'class-validator'; + +export class PlataformaDto {} diff --git a/src/modules/AT/plataforma/periodo.controller.ts b/src/modules/AT/plataforma/periodo.controller.ts new file mode 100644 index 0000000..d34d39c --- /dev/null +++ b/src/modules/AT/plataforma/periodo.controller.ts @@ -0,0 +1,4 @@ +import { Controller, Get, Param } from '@nestjs/common'; + +@Controller('plataforma') +export class PlataformaController {} diff --git a/src/modules/AT/plataforma/periodo.module.ts b/src/modules/AT/plataforma/periodo.module.ts new file mode 100644 index 0000000..d8bf1d6 --- /dev/null +++ b/src/modules/AT/plataforma/periodo.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { PlataformaController } from './periodo.controller'; +import { PlataformaService } from './periodo.service'; + +@Module({ + controllers: [PlataformaController], + providers: [PlataformaService], + exports: [PlataformaService], +}) +export class PlataformaModule {} diff --git a/src/modules/AT/plataforma/periodo.service.ts b/src/modules/AT/plataforma/periodo.service.ts new file mode 100644 index 0000000..bc94de6 --- /dev/null +++ b/src/modules/AT/plataforma/periodo.service.ts @@ -0,0 +1,23 @@ +import { Injectable, NotFoundException } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Plataforma } from 'src/database/AT/entities/alumno_inscrito.entity'; +import { Repository } from 'typeorm'; + +@Injectable() +export class PlataformaService { + constructor( + @InjectRepository(Plataforma) + private readonly plataformaRepository: Repository, + ) {} + + async getByName(nombre: string): Promise { + const plataforma = await this.plataformaRepository.findOne({ + where: { nombre }, + }); + + if (!plataforma) { + throw new NotFoundException('plataforma no encontrado'); + } + return plataforma; + } +} diff --git a/src/operations/operations.service.ts b/src/operations/operations.service.ts index b8860ba..2f7e4c0 100644 --- a/src/operations/operations.service.ts +++ b/src/operations/operations.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@nestjs/common'; +import { Injectable, NotFoundException } from '@nestjs/common'; import { AlumnoService } from 'src/modules/AT/alumno/student.service'; import { AlumnoInscritoService } from 'src/modules/AT/alumno_inscrito/alumno_inscrito.service'; import { PeriodoService } from 'src/modules/AT/periodo/periodo.service'; @@ -6,6 +6,7 @@ import { PagoKioscoService } from 'src/modules/Monedero/pago-kiosco/pago-kiosco. import { PersonaService } from 'src/modules/Monedero/persona/persona.service'; import { TransaccionService } from 'src/modules/Monedero/transaccion/transaccion.service'; import { abonoKioscoDto } from './dto/create-operation.dto'; +import { PlataformaService } from 'src/modules/AT/plataforma/periodo.service'; @Injectable() export class OperationsService { @@ -16,6 +17,7 @@ export class OperationsService { private readonly alumnoInscritoServie: AlumnoInscritoService, private readonly alumnoService: AlumnoService, private readonly periodoService: PeriodoService, + private readonly plataformaService: PlataformaService, ) {} async depositKiosco(abono: abonoKioscoDto, idPersona: number) { @@ -50,12 +52,17 @@ export class OperationsService { Number(persona.numeroIdentificar), ); + if (!plataforma) { + throw new NotFoundException('Debe de colocar una plataforma'); + } + const periodo = await this.periodoService.getLatestPeriodo(); + const plataform = await this.plataformaService.getByName(plataforma); await this.alumnoInscritoServie.create({ id_cuenta: alumno.id_cuenta, id_periodo: periodo.id_periodo, - id_plataforma: plataforma, + id_plataforma: plataform.id_plataforma, }); } else { newSaldo = await this.personaService.updateSaldo(idPersona, cantidad);