From 7ff3f13af4f5934a4dd4761266125ebf9c95042d Mon Sep 17 00:00:00 2001 From: Alvar San Martin Date: Wed, 8 Apr 2026 17:37:47 +0200 Subject: [PATCH] Funcionan las suspensiones --- docs/sim-api/Pause.bru | 2 +- docs/sim-api/environments/local.bru | 1 + docs/sim-api/environments/prod.bru | 1 + .../aplication/Sim.controller.ts | 2 +- .../aplication/Sim.usecases.ts | 12 +++++++-- .../aplication/Sim.controller.ts | 1 - packages/sim-objenious-cron/index.ts | 25 ++++++++++++++++++- .../tasks/check_pause_terminate.ts | 2 +- .../ObjeniousOperationRepository.ts | 4 +-- 9 files changed, 41 insertions(+), 9 deletions(-) diff --git a/docs/sim-api/Pause.bru b/docs/sim-api/Pause.bru index cef1ed7..bcb3b8e 100644 --- a/docs/sim-api/Pause.bru +++ b/docs/sim-api/Pause.bru @@ -15,7 +15,7 @@ params:query { } body:form-urlencoded { - iccid: 8933201125065160414 + iccid: 8933201125068886692 } settings { diff --git a/docs/sim-api/environments/local.bru b/docs/sim-api/environments/local.bru index 79faa0b..fab4907 100644 --- a/docs/sim-api/environments/local.bru +++ b/docs/sim-api/environments/local.bru @@ -1,3 +1,4 @@ vars { baseurl: http://localhost:3000 } +color: #2E8A54 diff --git a/docs/sim-api/environments/prod.bru b/docs/sim-api/environments/prod.bru index 1ef2e33..d6e2471 100644 --- a/docs/sim-api/environments/prod.bru +++ b/docs/sim-api/environments/prod.bru @@ -1,3 +1,4 @@ vars { baseurl: https://sf-sims.savefamilygps.net } +color: #CE4F3B diff --git a/packages/sim-consumidor-objenious/aplication/Sim.controller.ts b/packages/sim-consumidor-objenious/aplication/Sim.controller.ts index ca103a0..800cf98 100644 --- a/packages/sim-consumidor-objenious/aplication/Sim.controller.ts +++ b/packages/sim-consumidor-objenious/aplication/Sim.controller.ts @@ -164,6 +164,7 @@ export class SimController { public suspend() { return async (msg: ConsumeMessage) => { let msgData; + console.log("Consumiendo susension", msg) try { msgData = this.validateMsg(msg) as SimEvents.pause } catch (e) { @@ -183,7 +184,6 @@ export class SimController { identifiers: [iccid] // Por algĂșn motivo solo he puesto un iccd por identifier } } - const useCaseRes = await this.tryUseCase(msg, this.useCases.stage_suspend(suspendData)) /* const res = await this.tryUseCase(msg, this.useCases.suspend(actionData)) diff --git a/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts b/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts index ccb822c..13c0b1a 100644 --- a/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts +++ b/packages/sim-consumidor-objenious/aplication/Sim.usecases.ts @@ -255,6 +255,7 @@ export class SimUseCases { // Si no se pueden sacar datos de la linea guardo momentaneamente el error // pero no se cancela la operacion, el error puede ser de objenious y no nos // puede afectar + console.log("LineData", lineData.data) if (lineData.error != undefined) { console.error(lineData.error) } else { @@ -272,6 +273,7 @@ export class SimUseCases { */ public stage_suspend(suspendData: ActionData): () => Promise> { return async (): Promise> => { + console.log("Suspend action data", suspendData) const correlation_id = suspendData.correlation_id const iccid = suspendData.identifier.identifiers @@ -285,8 +287,14 @@ export class SimUseCases { } } - const activationDate = await this.findActivationDate(suspendData) - + let activationDate; + try { + activationDate = await this.findActivationDate(suspendData) + } catch (e) { + return { + error: String(e) + } + } const newTask: CreatePauseCancelTaskDTO = { iccid: iccid[0], activation_date: activationDate, diff --git a/packages/sim-entrada-eventos/aplication/Sim.controller.ts b/packages/sim-entrada-eventos/aplication/Sim.controller.ts index 0c69c8b..9afe780 100644 --- a/packages/sim-entrada-eventos/aplication/Sim.controller.ts +++ b/packages/sim-entrada-eventos/aplication/Sim.controller.ts @@ -36,7 +36,6 @@ export class SimController { }) { return async (req: Request, res: Response) => { const body = req.body - // 1. Validacion del body if (args.validator != undefined) { const validationResult = args.validator.validate(body) diff --git a/packages/sim-objenious-cron/index.ts b/packages/sim-objenious-cron/index.ts index 9153d39..9db6a95 100644 --- a/packages/sim-objenious-cron/index.ts +++ b/packages/sim-objenious-cron/index.ts @@ -8,6 +8,9 @@ import { OrderRepository } from "sim-shared/infrastructure/OrderRepository.js" import { TaskVolcadoLineas } from "./tasks/volcado_lineas.js" import { ObjeniousLinesRepository } from "./infranstructure/ObjeniousLinesRepository.js" import { postgresClientIntranet } from "./config/intranetPostgresConfig.js" +import { PauseCancelTaskRepository } from "packages/sim-consumidor-objenious/infrastructure/PauseCancelTaskRepository.js" +import { PauseTerminateTask } from "./tasks/check_pause_terminate.js" +import { SimUseCases } from "packages/sim-consumidor-objenious/aplication/Sim.usecases.js" async function startCron() { const commonSettings = { @@ -44,6 +47,21 @@ async function startCron() { objeniosRepo ) + const pauseRepo = new PauseCancelTaskRepository(pgClient) + const simUsecases = new SimUseCases({ + httpClient: httpClient, + operationRepository: operationRepository, + orderRepository: orderRepository, + pauseRepository: pauseRepo + }) + + const pauseTask = new PauseTerminateTask( + objeniosRepo, + pauseRepo, + simUsecases, + orderRepository + ) + const PERIODO_PETICIONES = 10 * 60 * 1000 const interval = setInterval(async () => { try { @@ -62,7 +80,12 @@ async function startCron() { } }, PERIODO_VOLCADO) - await volcadoLineasTask.loadLines() + + //await pauseTask.run() + const PERIODO_CANCELACIONES = 24 * 60 * 60 * 1000; + const clacelacionesInterval = setInterval(async () => { + await pauseTask.run() + }, PERIODO_CANCELACIONES) } diff --git a/packages/sim-objenious-cron/tasks/check_pause_terminate.ts b/packages/sim-objenious-cron/tasks/check_pause_terminate.ts index 7f85fa5..6d9da8b 100644 --- a/packages/sim-objenious-cron/tasks/check_pause_terminate.ts +++ b/packages/sim-objenious-cron/tasks/check_pause_terminate.ts @@ -11,7 +11,7 @@ const logger = } -export class TaskPauseTerminate { +export class PauseTerminateTask { constructor( private readonly objeniousRepo: ObjeniousOperationsRepository, private readonly pauseRepo: PauseCancelTaskRepository, diff --git a/packages/sim-shared/infrastructure/ObjeniousOperationRepository.ts b/packages/sim-shared/infrastructure/ObjeniousOperationRepository.ts index 68d0009..4db3951 100644 --- a/packages/sim-shared/infrastructure/ObjeniousOperationRepository.ts +++ b/packages/sim-shared/infrastructure/ObjeniousOperationRepository.ts @@ -36,7 +36,7 @@ export class ObjeniousOperationsRepository implements IOperationsRepository { "identifier.identifiers": identifiers.toString() } - const req = this.http.client.get(path, { + const req = this.http.client.get(path, { params: params }) @@ -48,7 +48,7 @@ export class ObjeniousOperationsRepository implements IOperationsRepository { } } - const lines = res.data.data + const lines = res.data.data.content return { data: lines