VIRIDIAN Digital Banking - Backend 5.3.9
Changelog
- Consolidado de Cuentas: Se optimiza la carga de cuentas para reducir el uso de memoria y mejorar , marginalmente, el tiempo de respuesta individual, pero puede ser algo importante en general.
- Encuestas: Se habilita el nuevo módulo de "Encuestas" para producción y pre producción.
- General: Estamos realizando optimizaciones en el uso de memoria en general para los microservicios: manager-api y utilities-api.
- Holdings: Se corrige la visualización de datos del cliente en producción para la Banca Móvil con rediseño, mostrando nombres en lugar de apellidos.
- Mensajes & Anuncios: Se hicieron mejoras internas para evitar errores en las difusiones de grupos grandes de clientes; esto para atender un caso reportado en producción.
- Mensajes & Anuncios: Se hicieron las correcciones necesarias para evitar errores internos en el procesamiento de archivos que contienen cientos de miles de registros para crear grupos de clientes; además se optimizó el tiempo de creación de los mismos.
- Onboarding : Se mejora la gestión de conexiones de red hacia proveedores externos como FacePhi y/o Firebase, evitando el agotamiento de puertos disponibles en el sistema durante picos elevados de inicios de sesión.
- Pagos QR : En los pagos QR al mismo banco, se identificó que la interfaz vdbVerifyAccount era llamada dos veces. Se corrige este comportamiento para realizar una única llamada a la interfaz, optimizando el flujo de validación.
Tareas previas
Les solicitamos por favor realicen los pasos Selección de versión del release y Descarga de componentes en horario de oficina para poder tener todo el equipo a disposición en caso de error.
Selección de versión del release
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook release.yml -t select -e="version=5.3.9"infoEste comando selecciona la versión del release.
Descarga de componentes
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook release.yml -K -t warmupinfoEste comando descarga las nuevas versiones de todos los componentes que serán actualizados.
Instrucciones
Cambios en servidores
- Ninguno.
Cambios en base de datos
-
Ejecutar el siguiente script:
DELETE FROM onboarding_codes WHERE param_type = 'ACCOUNT_DOCUMENT_TYPE' AND param_code = '4' AND param_value = 'Póliza de seguro de protección';
-- survey
DROP TABLE IF EXISTS survey;
CREATE TABLE IF NOT EXISTS survey (
id bigserial NOT NULL,
name varchar(100) NOT NULL,
title varchar(100) NOT NULL,
description varchar(250),
audience varchar(20) NOT NULL,
fk_customer_group bigint,
topic varchar(40),
start_date date NOT NULL,
end_date date NOT NULL,
channel varchar(40) NOT NULL,
is_mandatory smallint NOT NULL,
max_skip_attempts int NOT NULL,
status varchar(40) NOT NULL,
user_create varchar(40),
date_create datetime year to second,
user_update varchar(40),
date_update datetime year to second,
admin_user_create varchar(40),
admin_user_update varchar(40),
admin_date_update datetime year to second,
PRIMARY KEY (id) CONSTRAINT pk_survey_id
);
CREATE INDEX idx_survey_status ON survey (status);
-- survey_answer
DROP TABLE IF EXISTS survey_answer;
CREATE TABLE IF NOT EXISTS survey_answer (
id bigserial NOT NULL,
fk_survey bigint NOT NULL,
fk_response bigint NOT NULL,
fk_question bigint NOT NULL,
answer_text varchar(100),
score int,
fk_option bigint,
option_value varchar(100),
PRIMARY KEY (id) CONSTRAINT pk_survey_answer_id
);
CREATE INDEX idx_survey_answer_question ON survey_answer (fk_question);
CREATE INDEX idx_survey_answer_response ON survey_answer (fk_response);
-- survey_question
DROP TABLE IF EXISTS survey_question;
CREATE TABLE IF NOT EXISTS survey_question (
id bigserial NOT NULL,
fk_survey bigint NOT NULL,
question_order int NOT NULL,
question_text varchar(150),
question_type varchar(20) NOT NULL,
is_required smallint NOT NULL,
min_value int,
max_value int,
PRIMARY KEY (id) CONSTRAINT pk_survey_question_id
);
CREATE INDEX idx_survey_question_survey ON survey_question (fk_survey);
-- survey_question_option
DROP TABLE IF EXISTS survey_question_option;
CREATE TABLE IF NOT EXISTS survey_question_option (
id bigserial NOT NULL,
fk_survey bigint NOT NULL,
fk_question bigint NOT NULL,
option_order int NOT NULL,
option_text lvarchar(350),
PRIMARY KEY (id) CONSTRAINT pk_survey_question_option_id
);
CREATE INDEX idx_survey_question_option_question ON survey_question_option (fk_question);
CREATE INDEX idx_survey_question_option_survey ON survey_question_option (fk_survey);
-- survey_response
DROP TABLE IF EXISTS survey_response;
CREATE TABLE IF NOT EXISTS survey_response (
id bigserial NOT NULL,
fk_survey bigint NOT NULL,
fk_user bigint NOT NULL,
customer_code varchar(20),
channel varchar(40) NOT NULL,
is_mandatory smallint NOT NULL,
max_skip_attempts int NOT NULL,
total_attempts_number int NOT NULL,
skip_survey smallint NOT NULL,
status varchar(40) NOT NULL,
response_date datetime year to second,
user_create varchar(40),
date_create datetime year to second,
user_update varchar(40),
date_update datetime year to second,
admin_user_create varchar(40),
admin_user_update varchar(40),
admin_date_update datetime year to second,
PRIMARY KEY (id) CONSTRAINT pk_survey_response_id
);
CREATE INDEX idx_survey_response_survey ON survey_response (fk_survey);
CREATE INDEX idx_survey_response_survey_user ON survey_response (fk_survey, fk_user);
CREATE INDEX idx_survey_response_user_status_channel ON survey_response (fk_user, status, channel);
INSERT INTO man_action
(code, subtype_code, order, status, user_create, date_create, user_update, date_update, admin_user_create, admin_user_update, admin_date_update, exp_points, endpoint, description)
VALUES('UPSERT_SURVEY', 'ADMIN_OPERATION', '1001', 'ACTIVE', NULL, current , NULL, NULL, 'admin', NULL, NULL, NULL, NULL, NULL);
Cambios en componentes
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook release.yml -K -t deploy -e "type=hot"
Limpieza de archivos generados por el release
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -K -t cleanup
Verificación de componentes
-
En los servidores de aplicaciones, ejecutar el siguiente comando:
docker ps -vsinfoEste comando muestra el estado de todos los docker containers ordenados alfabéticamente.
-
Revisar el output del comando y asegurarse de que todos los docker containers tengan un status UP y no haya ningún docker container detenido.
Resumen de versiones
| componente | release 5.3.8 | release 5.3.9 |
|---|---|---|
| viridian-config-properties | 9.32.1 | 9.33.4 |
| server-config | 9.1.0 | |
| server-eureka | 9.1.0 | |
| vdb-routes-public | 9.12.0 | 9.13.0 |
| vdb-routes-internal | 9.4.0 | 9.5.0 |
| vdb-routes-bank | 9.4.0 | |
| gateway-public | 9.4.0 | |
| gateway-internal | 9.4.0 | |
| gateway-external | 9.3.0 | |
| bank-gateway | 9.7.0 | |
| bank-service | 9.4.0 | |
| batchpayments-api | 9.5.0 | |
| batchpayments-hosted | 9.4.0 | |
| beneficiaries-api | 9.7.0 | |
| digitalcredit-api | 9.4.1 | |
| digitalpay-qr | 9.18.0 | 9.19.0 |
| guaranteebond-api | 9.4.0 | |
| manager-api | 9.23.0 | 9.24.1 |
| manager-hosted | 9.11.0 | |
| myfinances-api | 9.6.0 | |
| notifications-hosted | 9.10.0 | |
| onboarding-api | 9.16.0 | |
| servicepayments-api | 9.6.0 | |
| statements-api | 9.6.0 | |
| trade-api | 9.8.3 | |
| transactions-api | 9.11.0 | |
| transactions-hosted | 9.4.0 | |
| utilities-api | 9.13.0 | 9.14.3 |
| wiretransfer-api | 9.5.1 | |
| insurance-agents | 9.4.0 | |
| insurance-sales | 9.4.0 | |
| assistant-requests | 9.7.0 | |
| frontend-vdb | 9.14.1 | 9.15.0 |
| frontend-vdb-2 | 9.14.1 | 9.15.0 |
| frontend-admin | 9.8.0 | 9.9.2 |
| frontend-kiosk | 9.2.0 |