Creado |
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
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 --> [*]
