Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Una vez que Promo recibe información desde la cola rabbit Rabbit correspondiente, la misma será derivada al monitor de Importación y será procesada por la tarea programada denominada "Importador de Entidades".

...

claveTipo de DatoDescripción
rabbitMQ.producer.enabledBooleanoPropiedad que indica si está habilitado RabbitMQ para el posteo de datos (true o false)
rabbitMQ.promotion.endpointNameAlfanuméricoNombre de la cola de RabbitMQ para el posteo de promociones, la cual se encargara de recibir los mensajes para el posterior procesamiento por parte del Consumer
rabbitMQ.limitstatus.endpointNameAlfanuméricoNombre de la cola de RabbitMQ para el posteo del status de limites, la cual se encargara de recibir los mensajes para el posterior procesamiento por parte del Consumer

rabbitMQ.enginestatus.endpointName

AlfanuméricoNombre de la cola de RabbitMQ para el posteo del status de motor y consola.
rabbitMQ.producer.uriAlfanuméricoURI de conexión completa RabbitMQ para el posteo de datos (amqp://<user>:<password>@<host>:<port>/<vhost>)

vhost: Opcional en caso de estar definido dentro del server RabbitMQ

rabbitMQ.producer.usernameAlfanuméricoUsuario para acceder al RabbitMQ para el posteo de datos
rabbitMQ.producer.passwordAlfanuméricoPassword para acceder al RabbitMQ para el posteo de datos
rabbitMQ.producer.hostAlfanuméricoDirección (host) del RabbitMQ server para el posteo de datos
rabbitMQ.producer.virtualHostAlfanuméricoVirtual Host al RabbitMQ para el posteo de datos
rabbitMQ.producer.portNuméricoPuerto del server RabbitMQ para el posteo de datos
rabbitMQ.promotionsCache.endpointNameAlfanuméricoNombre de la cola RabbitMQ que recibirá los mensajes referentes al Cache de Promociones.  (Ver Cache de Promociones)

...

  • rabbitMQ.producer.enabled: (true o false)

  • rabbitMQ.producer.uri:amqp://<user>:<password>@<host>:<port>/<vhost(Opcional)>

  • rabbitMQ.promotion.endpointName:<nombreCola para posteo de promociones>

  • rabbitMQ.limitstatus.endpointName:<nombreCola para posteo del status de limites>

  • rabbitMQ.cardhistory.endpointName: <Nombre de la cola de RabbitMQ para el posteo de datos de tipo CardHistory>

  • rabbitMQ.enginestatus.endpointName:<nombreCola para posteo del status del motor y consola>


Segunda o configuración por parámetros:

  • rabbitMQ.producer.enabled:(true o false) 

  • rabbitMQ.producer.username:<user>

  • rabbitMQ.producer.password:<pass>

  • rabbitMQ.producer.host:<host>

  • rabbitMQ.producer.virtualHost:<vhost>

  • rabbitMQ.producer.port:<port>

  • rabbitMQ.promotion.endpointName:<nombreCola para posteo de promociones>

  • rabbitMQ.limitstatus.endpointName:<nombreCola para posteo del status de limites>

  • rabbitMQ.cardhistory.endpointName: <nombreCola para posteo del CardHistory>

  • rabbitMQ.enginestatus.endpointName:<nombreCola para posteo del status del motor y consola>


RabbitMQ – Historial de Tarjetas

La cola de mensaje disponibles para el envío del historial de tarjetas:

...

Campo

Descripción

id

Id del registro de limite en Mongo.

amount

Monto actual asociado a la tarjeta de fidelidad

amountPrev

Monto previo de la tarjerta de fidelidad

card {}

Datos asociados a la tarjeta informada

codeNumero de la tarjeta de fidelidad
statusEstado de la tarjeta de fidelidad
typeTipo de la tarjeta de fidelidad


cardAction

Accion asociada al movimiento de tarjeta de fidelidad.

companyId

Compañía desde la que se envia el movimiento de la tarjeta de fidelidad.

createdAt

Fecha de creacion de la tarjeta de fidelidad.

customerCode

Cliente asociado a la tarjeta de fidelidad.

date

Fecha del movimiento que se informa de la tarjeta de fidelidad.

reason

Código de la razón asociada al movimiento que se informa de la tarjeta de fidelidad.

reasonName

Nombre de la razón asociada al movimiento que se informa de la tarjeta de fidelidad.

storeCode

Código de la tienda asociada al movimiento que se informa de la tarjeta de fidelidad.

terminalCode

Código de la terminal asociada al movimiento que se informa de la tarjeta de fidelidad.




RabbitMQ – Estado de los limites

La cola de mensaje disponibles para el envío de estado de los limites es:

...

Campo

Descripción

id

Id del registro de limite en Mongo.

promotionId

Id de la promoción en Mongo.

benefitId

Id del beneficio en Mongo.

promotionCode

Código de la promoción.

promotionName

Nombre de la promoción.

limitId

Id del límite en Mongo.

scope

Tipo de limite a contabilizar (CUSTOMER, STORE, RETAILER).

period

Periodo a contabilizar.

maxValue

Valor máximo al que podrá llegar el limite definido en la promoción.

customerId

Cliente asociado al límite.

storeId

Id de la tienda donde se realizó el movimiento del límite.

numberDays

Cantidad de días definidos para el periodo a contabilizar.

nextReset

Próximo reseteo del límite.

lastReset

Ultimo reseteo realizado al límite.

limitTypeCode

Código del tipo de limite (benefitAmount, benefiedProductCount, benefitApplicationCount).

description

descripción ingresada en el límite.

lastUpdate

Ultima actualización del limite (desde consola a promociones con limite definido).

active

Indica si el limite está a activo (true) o consumido (false).

currentValue

Valor actual del límite.

Mensajes: Cache de Promociones

...



RabbitMQ – Estado de Motor y Consola

La cola de mensaje disponibles para el envío de estado de de motor y consola es:

  • rabbitMQ.enginestatus.endpointName  >> Nombre de la cola de RabbitMQ para el posteo del status de motor y consola.


Informações
titleAclaración
  • El Json del motor solo se enviará cuando haya un cambio de estado.
  • El Json de la consola se enviará cuando esté activa y operando (con cada ejecución del proceso).


Configuración

El Job por defecto se ejecutará cada 5 minutos, pudiendo modificar el tiempo de ejecución desde Administración ->Tareas programadas.


Configuración del archivo promoplus.properties

Para identificar a la consola se deberán configurar los siguientes parámetros : promo.general.id y promo.general.name. Si estos parámetros se encuentran vacíos se utilizará en los procesos en ambos parámetros la ip.

Informações
titleIMPORTANTE

Los valores ingresados en promo.general.id y en promo.general.name no deben coincidir con los parámetros id y name configurados en el motor de Promo.

Image Added


Ejemplo del Json que se envía de RabbitMQ


Bloco de código
themeEmacs
{
    "engineId": "1",
    "engineName": "ENGINE1",
    "processDate": "16/03/2021 11:33",
    "startDate": "2021-03-12T03:00:00Z",
    "endDate": "2021-04-20T02:59:00Z",
    "keyMap": "napse",
    "mapVersion": "2",
    "stores": "napse",
    "statusMQ": "ONLINE",
    "timestamp": "16/03/2021 11:35"
    "isConsole":"false"
}


El Json de RabbitMQ, contendrá el siguiente formato:

CampoEjemplosTipo de datoDetalle
engineId"1"AlfanuméricoIdentificador del motor o consola.
engineName
"ENGINE1"AlfanuméricoNombre del motor o consola.
processDate
"16/03/2021 11:33"AlfanuméricoFecha y hora del ping del motor o consola. Formato : "dd/MM/yyyy HH:mm"
startDate
"2021-03-12T03:00:00Z"
AlfanuméricoFecha de inicio de vigencia del mapa, dato que se informa para el caso del motor si corresponde. Para consola vacío. Formato: "yyyy-MM-dd'T'HH:mm:ssXX"
endDate"2021-04-12T03:00:00Z"AlfanuméricoFecha fin de vigencia del mapa, dato que se informa para el caso del motor. Para consola vacío. Formato: "yyyy-MM-dd'T'HH:mm:ssXX"
keyMap
"napse"
AlfanuméricoIdentificador, dato que se informa para el caso del motor. Para consola vacío.
mapVersion
"2"AlfanuméricoVersión del mapa,para consola vacio.
stores
"napse"AlfanuméricoTiendas solo para motor,para consola vacio.
statusMQ"ONLINE"AlfanuméricoEstado del motor o consola. Valores posibles:ONLINE ,OFFLINE
timestamp
"16/03/2021 11:35"
AlfanuméricoFecha y hora de envío
isConsole"false"AlfanuméricoIdentifica si el origen es consola. Si es false indica que es motor


...


Mensajes: Cache de Promociones

Cuando es ejecutado el proceso que evalúa y genera el cache de Promociones de Promo, se generan una serie de mensajes a la cola Rabbit con el siguiente formato general. 

...

Bloco de código
languagebash
themeEmacs
titleSubZonas
{ 
   "promotionCode" : "0", 
   "promotionName" : "init promoCache lot number 1596140494623", 
   "SKU" : "0",
   "img": null
}


Luego cada promoción asociada al producto llevará el siguiente formato:

...

Bloco de código
languagebash
themeEmacs
titleSubZonas
{ 
   "promotionCode" : "p003", 
   "promotionName" : "Promo03", 
   "SKU" : "2734",
   "img": “http://myserverPromo:8080/assets/images/promonavidad.jpg”
}


...

Gestión de Errores

En el caso de existir registros de posteos a server RabbitMQ con ERROR, se mostrara un aviso (banner) en la cabecera de Promo, indicando de forma general la incidencia.

...