Creado

Juan Robles

Step Function: states-dev-loan-expiration

Descripción

Este flujo maneja la expiración de préstamos dentro del sistema. Se compone de procesos en paralelo con validaciones adicionales antes de finalizar.

Manejo del cambio de fecha de vencimiento

  • Mientras se espera la expiración del préstamo, la máquina de estados permite un posible cambio de fecha de vencimiento.

  • Si se recibe una nueva fecha, la ejecución se interrumpe, se actualiza la fecha y se reinicia el proceso en paralelo.

Espera y cambio de estado

  • Se espera hasta el timestamp de vencimiento (Wait).

  • Una vez vencido el préstamo, se ejecuta una función Lambda para actualizar el estado.

Validación de pago tras expiración

  • Si el estado de vencimiento se procesó correctamente, se espera 24 horas (Wait 24 Hours).

  • Luego, se ejecuta una validación de pago (Validate Payment) para confirmar si se realizó algún pago antes de marcar el préstamo como en mora (overdue).

  • Finalmente, si todo se ejecuta correctamente, la máquina de estados finaliza la ejecución con éxito.

Diagrama

mermaid-diagram-2025-03-20-123603.png

Código para Mermaid

stateDiagram-v2
    [*] --> Parallel
    state Parallel {
        [*] --> SaveTaskToken
        SaveTaskToken --> [*]

        [*] --> Wait
        Wait --> ChangeStatus
        ChangeStatus --> [*]
    }

    Parallel --> Choice
    Choice --> ChangeTimestamp : "Error != 'END'"
    Choice --> Wait24Hours : Default
    ChangeTimestamp --> Parallel

    Wait24Hours --> ValidatePayment
    ValidatePayment --> Success

    Success --> [*]

Attachments: