diff --git a/src/abono-ticket/abono-ticket.controller.ts b/src/abono-ticket/abono-ticket.controller.ts index 284e561..8508a12 100644 --- a/src/abono-ticket/abono-ticket.controller.ts +++ b/src/abono-ticket/abono-ticket.controller.ts @@ -1,4 +1,4 @@ -import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common'; +import { Controller, Get, Post, Body } from '@nestjs/common'; import { AbonoTicketService } from './abono-ticket.service'; import { CreateAbonoTicketDto } from './dto/create-abono-ticket.dto'; import { UpdateAbonoTicketDto } from './dto/update-abono-ticket.dto'; @@ -11,24 +11,4 @@ export class AbonoTicketController { create(@Body() createAbonoTicketDto: CreateAbonoTicketDto) { return this.abonoTicketService.create(createAbonoTicketDto); } - - @Get() - findAll() { - return this.abonoTicketService.findAll(); - } - - @Get(':id') - findOne(@Param('id') id: string) { - return this.abonoTicketService.findOne(+id); - } - - @Patch(':id') - update(@Param('id') id: string, @Body() updateAbonoTicketDto: UpdateAbonoTicketDto) { - return this.abonoTicketService.update(+id, updateAbonoTicketDto); - } - - @Delete(':id') - remove(@Param('id') id: string) { - return this.abonoTicketService.remove(+id); - } } diff --git a/src/abono-ticket/abono-ticket.module.ts b/src/abono-ticket/abono-ticket.module.ts index 9e79685..fb8fac5 100644 --- a/src/abono-ticket/abono-ticket.module.ts +++ b/src/abono-ticket/abono-ticket.module.ts @@ -8,5 +8,6 @@ import { AbonoTicket } from './entities/abono-ticket.entity'; imports: [TypeOrmModule.forFeature([AbonoTicket])], controllers: [AbonoTicketController], providers: [AbonoTicketService], + exports: [AbonoTicketService], }) export class AbonoTicketModule {} diff --git a/src/abono-ticket/abono-ticket.service.ts b/src/abono-ticket/abono-ticket.service.ts index b20fa62..89153b3 100644 --- a/src/abono-ticket/abono-ticket.service.ts +++ b/src/abono-ticket/abono-ticket.service.ts @@ -1,6 +1,5 @@ -import { Injectable } from '@nestjs/common'; +import { Injectable, NotFoundException } from '@nestjs/common'; import { CreateAbonoTicketDto } from './dto/create-abono-ticket.dto'; -import { UpdateAbonoTicketDto } from './dto/update-abono-ticket.dto'; import { AbonoTicket } from './entities/abono-ticket.entity'; import { Repository } from 'typeorm'; import { InjectRepository } from '@nestjs/typeorm'; @@ -11,25 +10,20 @@ export class AbonoTicketService { @InjectRepository(AbonoTicket) private readonly abonoTicketRepository: Repository, ) {} + + async findByTransaccion(transaccion) { + const abonoTicket = await this.abonoTicketRepository.findOne({ + where: { transaccion }, + }); + if (!abonoTicket) { + throw new NotFoundException('abonoTicket not found'); + } + return abonoTicket; + } + async create(createAbonoTicketDto: CreateAbonoTicketDto) { const create = this.abonoTicketRepository.create(createAbonoTicketDto); await this.abonoTicketRepository.save(create); return 'success'; } - - findAll() { - return `This action returns all abonoTicket`; - } - - findOne(id: number) { - return `This action returns a #${id} abonoTicket`; - } - - update(id: number, updateAbonoTicketDto: UpdateAbonoTicketDto) { - return `This action updates a #${id} abonoTicket`; - } - - remove(id: number) { - return `This action removes a #${id} abonoTicket`; - } } diff --git a/src/operations/operations.module.ts b/src/operations/operations.module.ts index 8352d2a..dd32771 100644 --- a/src/operations/operations.module.ts +++ b/src/operations/operations.module.ts @@ -4,9 +4,15 @@ import { OperationsController } from './operations.controller'; import { TransaccionModule } from 'src/transaccion/transaccion.module'; import { PagoKioscoModule } from 'src/pago-kiosco/pago-kiosco.module'; import { PersonaModule } from 'src/persona/persona.module'; +import { AbonoTicketModule } from 'src/abono-ticket/abono-ticket.module'; @Module({ - imports: [TransaccionModule, PagoKioscoModule, PersonaModule], + imports: [ + TransaccionModule, + PagoKioscoModule, + PersonaModule, + AbonoTicketModule, + ], controllers: [OperationsController], providers: [OperationsService], }) diff --git a/src/operations/operations.service.ts b/src/operations/operations.service.ts index f63240b..0c4974f 100644 --- a/src/operations/operations.service.ts +++ b/src/operations/operations.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; import axios from 'axios'; +import { AbonoTicketService } from 'src/abono-ticket/abono-ticket.service'; import { PagoKioscoService } from 'src/pago-kiosco/pago-kiosco.service'; import { PersonaService } from 'src/persona/persona.service'; import { TransaccionService } from 'src/transaccion/transaccion.service'; @@ -10,6 +11,7 @@ export class OperationsService { private readonly transaccionService: TransaccionService, private readonly pagoKioscoService: PagoKioscoService, private readonly personaService: PersonaService, + private readonly abonoTicket: AbonoTicketService, ) {} async depositKiosco({ cantidad, idKiosco, transaccion }, idPersona: number) { @@ -23,7 +25,12 @@ export class OperationsService { }; const responseTransaccion = this.transaccionService.create(transaction); - console.log(responseTransaccion); + + const newSaldo = this.personaService.updateSaldo(idPersona, cantidad); + + const abonoTicket = this.abonoTicket.findByTransaccion( + (await responseTransaccion).idTransaccion, + ); const pagoKiosco = { idTransaccion: (await responseTransaccion).idTransaccion, monto: cantidad, @@ -34,21 +41,19 @@ export class OperationsService { this.pagoKioscoService.create(pagoKiosco); - const newSaldo = this.personaService.updateSaldo(idPersona, cantidad); + const res = await axios.post( + `${process.env.API_AT_URL}/operations/receipt`, + { + id_cuenta: idPersona, + monto: cantidad, + fecha_recibo: today, + folio_recibo: (await abonoTicket).idTicket, + }, + ); - // const res = await axios.post( - // `${process.env.API_AT_URL}/operations/receipt`, - // { - // id_cuenta: idPersona, - // monto: cantidad, - // fecha_recibo: today, - // folio_recibo: `FOL-${Date.now()}`, - // }, - // ); - - // if (res.status !== 200) { - // throw new Error('Error al registrar crédito en API externa'); - // } + if (res.status !== 200) { + throw new Error('Error al registrar crédito en API externa'); + } return newSaldo; }