diff --git a/pom.xml b/pom.xml
index 5bad0ab..cae38f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
bus-create-security-notification
1.0-native-quarkus-jdk17
bus-create-security-notification
- API Business - Create payment single request
+ API Business - Create payment alert
17
diff --git a/scripts/native/file/bus-create-security-notification-1.0-native-quarkus-jdk17-runner b/scripts/native/file/bus-create-security-notification-1.0-native-quarkus-jdk17-runner
index 25eb626..ecef1b4 100644
Binary files a/scripts/native/file/bus-create-security-notification-1.0-native-quarkus-jdk17-runner and b/scripts/native/file/bus-create-security-notification-1.0-native-quarkus-jdk17-runner differ
diff --git a/src/main/java/com/banesco/common/domain/model/HttpRequest.java b/src/main/java/com/banesco/common/domain/model/HttpRequest.java
index af48ca7..35a46e8 100644
--- a/src/main/java/com/banesco/common/domain/model/HttpRequest.java
+++ b/src/main/java/com/banesco/common/domain/model/HttpRequest.java
@@ -58,103 +58,117 @@ public class HttpRequest {
private boolean logResponseBody = true;
public static HttpRequest forApiResponse(
- String url,
- HttpMethod method,
- Class dataType
+ String url,
+ HttpMethod method,
+ Class dataType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(ApiResponse.class)
- .genericType(dataType)
- .apiResponse(true)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(ApiResponse.class)
+ .genericType(dataType)
+ .apiResponse(true)
+ .build();
}
public static HttpRequest forApiResponseList(
- String url,
- HttpMethod method,
- Class elementType
+ String url,
+ HttpMethod method,
+ Class elementType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(ApiResponse.class)
- .complexType(TypeBuilder.listOf(elementType))
- .apiResponse(true)
- .listResponse(true)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(ApiResponse.class)
+ .complexType(TypeBuilder.listOf(elementType))
+ .apiResponse(true)
+ .listResponse(true)
+ .build();
}
public static HttpRequest forApiPrivateResponse(
- String url,
- String statusSuccess,
- HttpMethod method,
- Class successType
+ String url,
+ String statusSuccess,
+ HttpMethod method,
+ Class successType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(ApiPrivateResponse.class)
- .complexType(TypeBuilder.parametricType(
- Either.class,
- successType,
- ApiPrivateError.class
- ))
- .apiPrivateResponse(true)
- .eitherResponse(true)
- .errorType(ApiPrivateError.class)
- .statusSuccess(statusSuccess)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(ApiPrivateResponse.class)
+ .complexType(TypeBuilder.parametricType(
+ Either.class,
+ successType,
+ ApiPrivateError.class
+ ))
+ .apiPrivateResponse(true)
+ .eitherResponse(true)
+ .errorType(ApiPrivateError.class)
+ .statusSuccess(statusSuccess)
+ .build();
}
public static HttpRequest forApiPrivateResponseList(
- String url,
- String statusSuccess,
- HttpMethod method,
- Class elementType
+ String url,
+ String statusSuccess,
+ HttpMethod method,
+ Class elementType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(ApiPrivateResponse.class)
- .complexType(TypeBuilder.parametricType(
- Either.class,
- TypeBuilder.listOf(elementType),
- ApiPrivateError.class
- ))
- .apiPrivateResponse(true)
- .eitherResponse(true)
- .listResponse(true)
- .errorType(ApiPrivateError.class)
- .statusSuccess(statusSuccess)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(ApiPrivateResponse.class)
+ .complexType(TypeBuilder.parametricType(
+ Either.class,
+ TypeBuilder.listOf(elementType),
+ ApiPrivateError.class
+ ))
+ .apiPrivateResponse(true)
+ .eitherResponse(true)
+ .listResponse(true)
+ .errorType(ApiPrivateError.class)
+ .statusSuccess(statusSuccess)
+ .build();
}
public static HttpRequest forDirectResponse(
- String url,
- HttpMethod method,
- Class responseType
+ String url,
+ HttpMethod method,
+ Class responseType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(responseType)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(responseType)
+ .build();
+ }
+
+ public static HttpRequest forDirectResponse(
+ String url,
+ HttpMethod method,
+ Class responseType,
+ Class errorType
+ ) {
+ return HttpRequest.builder()
+ .url(url)
+ .method(method)
+ .responseType(responseType)
+ .errorType(errorType)
+ .build();
}
public static HttpRequest forGenericResponse(
- String url,
- HttpMethod method,
- Class rawType,
- Class genericType
+ String url,
+ HttpMethod method,
+ Class rawType,
+ Class genericType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(rawType)
- .complexType(TypeBuilder.parametricType(rawType, genericType))
- .build();
+ .url(url)
+ .method(method)
+ .responseType(rawType)
+ .complexType(TypeBuilder.parametricType(rawType, genericType))
+ .build();
}
public HttpRequest withHeaders(Map headers) {
diff --git a/src/main/java/com/banesco/module/instruction/domain/model/Instruction.java b/src/main/java/com/banesco/module/instruction/domain/model/Instruction.java
index 14614de..3f1054b 100644
--- a/src/main/java/com/banesco/module/instruction/domain/model/Instruction.java
+++ b/src/main/java/com/banesco/module/instruction/domain/model/Instruction.java
@@ -12,5 +12,5 @@ import lombok.*;
@RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Instruction {
- private String instructionPurposeType; // Request JSON: "channelOrigin" (BOL)
+ private String instructionPurposeType; // Request JSON: "channelOrigin" (consolaPredictiva)
}
diff --git a/src/main/java/com/banesco/module/security_trace/domain/model/SecurityTraceConfig.java b/src/main/java/com/banesco/module/security_trace/domain/model/SecurityTraceConfig.java
index 42a1660..ba8972f 100644
--- a/src/main/java/com/banesco/module/security_trace/domain/model/SecurityTraceConfig.java
+++ b/src/main/java/com/banesco/module/security_trace/domain/model/SecurityTraceConfig.java
@@ -6,6 +6,8 @@ import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.Getter;
import lombok.ToString;
+import java.util.Map;
+
@Getter
@ToString
@RegisterForReflection
@@ -13,4 +15,5 @@ public class SecurityTraceConfig {
private String url;
private TimeoutConfig timeout;
private SecurityTraceRequest request;
+ private Map converters;
}
\ No newline at end of file
diff --git a/src/main/java/com/banesco/module/security_trace/infrastructure/client/SecurityTraceClient.java b/src/main/java/com/banesco/module/security_trace/infrastructure/client/SecurityTraceClient.java
index 8a11824..8f8ad95 100644
--- a/src/main/java/com/banesco/module/security_trace/infrastructure/client/SecurityTraceClient.java
+++ b/src/main/java/com/banesco/module/security_trace/infrastructure/client/SecurityTraceClient.java
@@ -96,7 +96,7 @@ public class SecurityTraceClient implements SecurityTraceUseCase {
return SecurityTraceRequest.builder()
.sp(securityTraceConfig.getRequest().getSp())
.codBan(securityTraceConfig.getRequest().getCodBan())
- .codMon(securityTraceConfig.getRequest().getCodMon())
+ .codMon(getCodMon(apiRequest))
.codEve(securityTraceConfig.getRequest().getCodEve())
.codEve2(securityTraceConfig.getRequest().getCodEve2())
.login(apiRequest.getChannelCode())
@@ -121,6 +121,26 @@ public class SecurityTraceClient implements SecurityTraceUseCase {
.build();
}
+ private String getCodMon(
+ CorrespondenceRequest apiRequest
+ ) {
+ String defaultCurrency = securityTraceConfig.getRequest().getCodMon();
+
+ if (StringUtil.isNullOrEmpty(apiRequest.getCurrency())) {
+ log.info("Moneda asignada por defecto: {}", defaultCurrency);
+ return defaultCurrency;
+ }
+
+ String currency = apiRequest.getCurrency().toUpperCase();
+
+ defaultCurrency = securityTraceConfig.getConverters()
+ .getOrDefault(currency, currency);
+
+ log.info("Moneda convertida o por defecto: {} -> {}", currency, defaultCurrency);
+
+ return defaultCurrency;
+ }
+
private String getStatusMessage(
ApiResponse> apiResponseData,
int statusHttp
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 377f975..1a03ec5 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -13,8 +13,8 @@ api:
bus-create-security-notification:
messages:
key: 'bus-create-security-notification'
- content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validacion no encontrado."},{"backendCode":"503","httpCode":503,"statusCode":"503","description":"Uso interno"},{"backendCode":"422","httpCode":422,"statusCode":"422","description":"Uso interno"},{"backendCode":"500","httpCode":500,"statusCode":"500","description":"Uso interno"},{"backendCode":"100","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-382505","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-380002","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"ERROR","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"400","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"401","httpCode":401,"statusCode":"401","description":"Uso interno"},{"backendCode":"403","httpCode":403,"statusCode":"403","description":"Uso interno"},{"backendCode":"404","httpCode":404,"statusCode":"404","description":"Uso interno"},{"backendCode":"default","httpCode":409,"statusCode":"409","description":"Conflicto"},{"backendCode":"424","httpCode":424,"statusCode":"424","description":"Error de dependencia"},{"backendCode":"VDE01","httpCode":400,"statusCode":"VDE01","description":"VDE01 - Error en dato de entrada obligatorio: %s"},{"backendCode":"VDE02","httpCode":400,"statusCode":"VDE02","description":"VDE02 - Error en valor permitido para campo: %s"},{"backendCode":"VRN04","httpCode":"503","statusCode":"VRN04","description":"Servicio en horario de mantenimiento","status":"error"},{"backendCode":"VRN02","httpCode":"204","statusCode":"VRN02","description":"Cliente sin productos"}]'
+ content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validacion no encontrado."},{"backendCode":"503","httpCode":503,"statusCode":"503","description":"Uso interno"},{"backendCode":"422","httpCode":422,"statusCode":"422","description":"Uso interno"},{"backendCode":"500","httpCode":500,"statusCode":"500","description":"Uso interno"},{"backendCode":"100","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-382505","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-380002","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"ERROR","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"400","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"401","httpCode":401,"statusCode":"401","description":"Uso interno"},{"backendCode":"403","httpCode":403,"statusCode":"403","description":"Uso interno"},{"backendCode":"404","httpCode":404,"statusCode":"404","description":"Uso interno"},{"backendCode":"default","httpCode":409,"statusCode":"409","description":"Conflicto"},{"backendCode":"424","httpCode":424,"statusCode":"424","description":"Error de dependencia"},{"backendCode":"VDE01","httpCode":400,"statusCode":"VDE01","description":"VDE01 - Error en dato de entrada obligatorio: %s"},{"backendCode":"VDE02","httpCode":400,"statusCode":"VDE02","description":"VDE02 - Error en valor permitido para campo: %s"},{"backendCode":"VRN04","httpCode":503,"statusCode":"VRN04","description":"Servicio en horario de mantenimiento"},{"backendCode":"PIB-00","httpCode":409,"statusCode":"PIB-00","description":"Error Interno backend"},{"backendCode":"PIB-01","httpCode":409,"statusCode":"PIB-01","description":"Error Interno backend"}]'
rest-client:
dom-create-security-notification: '{"url":"http://localhost:8083/correspondence/initiate","timeout":{"connect":10000,"response":10000}}'
- security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":10000,"response":10000},"request":{"sp":"spAPI_Traza","codEve":"CREALERTS","codEve2":"CREALERTS","codBan":"01","codMon":"BS"}}'
+ security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":10000,"response":10000},"request":{"sp":"spAPI_Traza","codEve":"CREALERTS","codEve2":"CREALERTS","codBan":"01","codMon":"BS"},"converters":{"VES":"BS"}}'
service-status: '{"url":"http://api-get-service-status-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/service/status","timeout":{"connect":10000,"response":10000},"request":{"applicationId": "","transactionId": "","bankService": {"bankCode": "01","serviceCode": "APIFI","eventCode": "P2PVUEL"}}}'
\ No newline at end of file
diff --git a/src/main/resources/configmap.yaml b/src/main/resources/configmap.yaml
index b5aa843..617e3ce 100644
--- a/src/main/resources/configmap.yaml
+++ b/src/main/resources/configmap.yaml
@@ -67,8 +67,8 @@ data:
quarkus.profile: dev
quarkus.log.console.format: '%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n'
quarkus.log.consol.format: '%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n'
- api.bus-create-security-notification.messages.content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validacion no encontrado."},{"backendCode":"503","httpCode":503,"statusCode":"503","description":"Uso interno"},{"backendCode":"422","httpCode":422,"statusCode":"422","description":"Uso interno"},{"backendCode":"500","httpCode":500,"statusCode":"500","description":"Uso interno"},{"backendCode":"100","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-382505","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-380002","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"ERROR","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"400","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"401","httpCode":401,"statusCode":"401","description":"Uso interno"},{"backendCode":"403","httpCode":403,"statusCode":"403","description":"Uso interno"},{"backendCode":"404","httpCode":404,"statusCode":"404","description":"Uso interno"},{"backendCode":"default","httpCode":409,"statusCode":"409","description":"Conflicto"},{"backendCode":"424","httpCode":424,"statusCode":"424","description":"Error de dependencia"},{"backendCode":"VDE01","httpCode":400,"statusCode":"VDE01","description":"VDE01 - Error en dato de entrada obligatorio: %s"},{"backendCode":"VDE02","httpCode":400,"statusCode":"VDE02","description":"VDE02 - Error en valor permitido para campo: %s"},{"backendCode":"VRN04","httpCode":"503","statusCode":"VRN04","description":"Servicio en horario de mantenimiento","status":"error"},{"backendCode":"204","httpCode":"200","statusCode":"200","description":"Cliente sin productos","status":"ok"}]'
- api.rest-client.security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":10000,"response":10000},"request":{"sp":"spAPI_Traza","codEve":"CREALERTS","codEve2":"CREALERTS","codBan":"01","codMon":"BS"}}'
+ api.bus-create-security-notification.messages.content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validacion no encontrado."},{"backendCode":"503","httpCode":503,"statusCode":"503","description":"Uso interno"},{"backendCode":"422","httpCode":422,"statusCode":"422","description":"Uso interno"},{"backendCode":"500","httpCode":500,"statusCode":"500","description":"Uso interno"},{"backendCode":"100","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-382505","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-380002","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"ERROR","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"400","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"401","httpCode":401,"statusCode":"401","description":"Uso interno"},{"backendCode":"403","httpCode":403,"statusCode":"403","description":"Uso interno"},{"backendCode":"404","httpCode":404,"statusCode":"404","description":"Uso interno"},{"backendCode":"default","httpCode":409,"statusCode":"409","description":"Conflicto"},{"backendCode":"424","httpCode":424,"statusCode":"424","description":"Error de dependencia"},{"backendCode":"VDE01","httpCode":400,"statusCode":"VDE01","description":"VDE01 - Error en dato de entrada obligatorio: %s"},{"backendCode":"VDE02","httpCode":400,"statusCode":"VDE02","description":"VDE02 - Error en valor permitido para campo: %s"},{"backendCode":"VRN04","httpCode":503,"statusCode":"VRN04","description":"Servicio en horario de mantenimiento"},{"backendCode":"PIB-00","httpCode":409,"statusCode":"PIB-00","description":"Error Interno backend"},{"backendCode":"PIB-01","httpCode":409,"statusCode":"PIB-01","description":"Error Interno backend"}]'
+ api.rest-client.security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":10000,"response":10000},"request":{"sp":"spAPI_Traza","codEve":"CREALERTS","codEve2":"CREALERTS","codBan":"01","codMon":"BS"},"converters":{"VES":"BS"}}'
quarkus.smallrye-health.liveness-path: /actuator/health/live
api.source-id: BCSN
quarkus.smallrye-health.root-path: /actuator/health