Funcional: Main contract flows - labcabrera/lab-insurance GitHub Wiki

Flujos principales (borrador)

Los tipos de intercambio de datos se harán en JSON. No se mencionan estas transformaciones en las descripciones de los flujos.

Flujo de entrada de contratación

  • El gateway recibe un mensaje de tipo ContractCreation

  • Encola dicha petición en env[queues.contract.creation]

  • Se procesa el mensaje desde el backend.

    • Se valida la información del contrato.

    • Se consulta al servicio de entidades legales / personas (TODO).

    • Se invoca al servicio de creación.

      • Se persiste el contrato vacio (sólo con la referencia al AM) para para obtener el ID que se utilizará para persistir las relaciones.

      • Se invoca al servicio de actividad para persistir la acción entrante (TODO).

      • Se persisten las relaciones con las entidades legales intervinientes.

      • Se persiste la información relativa al pago inicial.

      • Se invoca al servicio de cambio de estados: Contract>>INITIAL

      • Se invoca al servicio de cambio de estados: Order>>INITIAL

    • Se encola una notificación de contrato creado (esta disparará las acciones de envío de mail y persistirá las alertas asociadas a cada persona involucrada). Dependiendo del AM podremos querer escenarios de auto-aprobación de tal modo que esta cola estará gestionada por un enrutador desde el AM. Este flujo debería ser responsable de generar la documentación contractual.

En este punto (salvo en los casos de auto-aprobación) el contrato quedaría pendiente de aprobación.

Flujo de entrada de aprobación

  • El gateway recibe un mensaje de tipo ContractApprobation

  • Se encola esa petición en env[queues.contract.approbation]

  • Se procesa el mensaje desde el backend.

    • Se almacena la acción en el histórico del contrato.

    • Se establece la fecha de valor del contrato.

    • Se invoca al servicio de cambio de estados: Contract>>APPROBED

    • Se genera un mensaje en la cola de generación de portfolios

En este punto el contrato quedaría pendiente de la recepción del pago inicial.

Flujo de entrada de recepción del pago inicial

  • Se establece la fecha de efecto de la orden de pago

  • Se invoca al servicio de cambio de estados: Contract>>STARTED

  • Se persiste la información del contrato

  • Se transforma el mensaje en el canal a la orden de pago

  • Se invoca al servicio de cambio de estados: Order>>TO_PROCESS

  • Se persiste la información de la órden

  • Se encola la orden en la cola de procesamiento

Flujo de entrada de la cola de procesamiento de órdenes

TODO

Flujo de entrada de la cola de valorización de órdenes

TODO

⚠️ **GitHub.com Fallback** ⚠️