update error messages into private api; update generals
This commit is contained in:
parent
058f4ac97a
commit
b3a04f80de
2
pom.xml
2
pom.xml
@ -5,7 +5,7 @@
|
||||
<artifactId>bus-retrieve-security-notification</artifactId>
|
||||
<version>1.0-native-quarkus-jdk17</version>
|
||||
<name>bus-retrieve-security-notification</name>
|
||||
<description>API Business - Read payment statuses of the file by ID</description>
|
||||
<description>API Business - Read alert message by ID</description>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.release>17</maven.compiler.release>
|
||||
|
||||
Binary file not shown.
@ -58,103 +58,117 @@ public class HttpRequest {
|
||||
private boolean logResponseBody = true;
|
||||
|
||||
public static <T> HttpRequest forApiResponse(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> dataType
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> 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 <T> HttpRequest forApiResponseList(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> elementType
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> 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 <T> HttpRequest forApiPrivateResponse(
|
||||
String url,
|
||||
String statusSuccess,
|
||||
HttpMethod method,
|
||||
Class<T> successType
|
||||
String url,
|
||||
String statusSuccess,
|
||||
HttpMethod method,
|
||||
Class<T> 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 <T> HttpRequest forApiPrivateResponseList(
|
||||
String url,
|
||||
String statusSuccess,
|
||||
HttpMethod method,
|
||||
Class<T> elementType
|
||||
String url,
|
||||
String statusSuccess,
|
||||
HttpMethod method,
|
||||
Class<T> 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 <T> HttpRequest forDirectResponse(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> responseType
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> responseType
|
||||
) {
|
||||
return HttpRequest.builder()
|
||||
.url(url)
|
||||
.method(method)
|
||||
.responseType(responseType)
|
||||
.build();
|
||||
.url(url)
|
||||
.method(method)
|
||||
.responseType(responseType)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static <T, R> HttpRequest forDirectResponse(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> responseType,
|
||||
Class<R> errorType
|
||||
) {
|
||||
return HttpRequest.builder()
|
||||
.url(url)
|
||||
.method(method)
|
||||
.responseType(responseType)
|
||||
.errorType(errorType)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static <T, U> HttpRequest forGenericResponse(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> rawType,
|
||||
Class<U> genericType
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> rawType,
|
||||
Class<U> 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<String, String> headers) {
|
||||
|
||||
@ -289,7 +289,7 @@ public class CorrespondenceResource {
|
||||
String channelCode,
|
||||
|
||||
@QueryParam("customerReferenceFintechId")
|
||||
@Parameter(description = "ID de la fintech", example = "pranical-test")
|
||||
@Parameter(description = "ID de la fintech", example = "provider-test")
|
||||
String customerReferenceFintechId,
|
||||
|
||||
@QueryParam("appId")
|
||||
|
||||
@ -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<String, String> converters;
|
||||
}
|
||||
@ -6,6 +6,7 @@ import com.banesco.common.domain.model.ApiResponse;
|
||||
import com.banesco.common.domain.model.HttpRequest;
|
||||
import com.banesco.common.infrastructure.config.RestClientConfig;
|
||||
import com.banesco.module.correspondence.domain.dto.request.CorrespondenceRequest;
|
||||
import com.banesco.module.correspondence.domain.dto.response.CorrespondenceResponse;
|
||||
import com.banesco.module.security_trace.application.usecase.SecurityTraceUseCase;
|
||||
import com.banesco.module.security_trace.domain.dto.request.SecurityTraceRequest;
|
||||
import com.banesco.module.security_trace.domain.model.SecurityTraceConfig;
|
||||
@ -16,6 +17,7 @@ import jakarta.ws.rs.core.Response;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
@Slf4j
|
||||
@ApplicationScoped
|
||||
@ -89,12 +91,13 @@ public class SecurityTraceClient implements SecurityTraceUseCase {
|
||||
) {
|
||||
long executedTime = (endTime - startTime);
|
||||
int statusHttp = apiResponse.getStatus();
|
||||
ApiResponse<?> apiResponseData = (ApiResponse<?>) apiResponse.getEntity();
|
||||
ApiResponse<CorrespondenceResponse> apiResponseData =
|
||||
(ApiResponse<CorrespondenceResponse>) apiResponse.getEntity();
|
||||
|
||||
return SecurityTraceRequest.builder()
|
||||
.sp(securityTraceConfig.getRequest().getSp())
|
||||
.codBan(securityTraceConfig.getRequest().getCodBan())
|
||||
.codMon(securityTraceConfig.getRequest().getCodMon())
|
||||
.codMon(getCodMon(apiResponseData))
|
||||
.codEve(securityTraceConfig.getRequest().getCodEve())
|
||||
.codEve2(securityTraceConfig.getRequest().getCodEve2())
|
||||
.login(apiRequest.getChannelCode())
|
||||
@ -118,6 +121,46 @@ public class SecurityTraceClient implements SecurityTraceUseCase {
|
||||
.build();
|
||||
}
|
||||
|
||||
private String getCodMon(
|
||||
ApiResponse<CorrespondenceResponse> apiResponseData
|
||||
) {
|
||||
String defaultCurrency = securityTraceConfig.getRequest().getCodMon();
|
||||
|
||||
if(
|
||||
Objects.isNull(apiResponseData) ||
|
||||
Objects.isNull(apiResponseData.getData()) ||
|
||||
Objects.isNull(apiResponseData.getData().getCorrespondence()) ||
|
||||
apiResponseData.getData().getCorrespondence().isEmpty()
|
||||
) {
|
||||
log.info("Moneda asignada por defecto: {}", defaultCurrency);
|
||||
return defaultCurrency;
|
||||
}
|
||||
|
||||
String currency = apiResponseData.getData().getCorrespondence().stream()
|
||||
.filter(item ->
|
||||
item.getTransaction() != null &&
|
||||
item.getTransaction().getFinancialTransaction() != null &&
|
||||
!StringUtil.isNullOrEmpty(item.getTransaction().getFinancialTransaction().getCurrencyCode())
|
||||
)
|
||||
.findFirst()
|
||||
.map(item -> item.getTransaction().getFinancialTransaction().getCurrencyCode())
|
||||
.orElse(null);
|
||||
|
||||
if (StringUtil.isNullOrEmpty(currency)) {
|
||||
log.info("Moneda de la peticion/respuesta vacia, asignada por defecto: {}", defaultCurrency);
|
||||
return defaultCurrency;
|
||||
}
|
||||
|
||||
defaultCurrency = securityTraceConfig.getConverters().getOrDefault(
|
||||
currency.toUpperCase(),
|
||||
currency.toUpperCase()
|
||||
);
|
||||
|
||||
log.info("Moneda convertida o por defecto: {} -> {}", currency, defaultCurrency);
|
||||
|
||||
return defaultCurrency;
|
||||
}
|
||||
|
||||
private String getStatusMessage(
|
||||
ApiResponse<?> apiResponseData,
|
||||
int statusHttp
|
||||
|
||||
@ -13,8 +13,8 @@ api:
|
||||
bus-retrieve-security-notification:
|
||||
messages:
|
||||
key: 'bus-retrieve-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-retrieve-security-notification: '{"url":"http://localhost:8083/correspondence/retrieve/{securityNotificationId}/{channelCode}","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":"CONSALERTS","codEve2":"CONSALERTS","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":"CONSALERTS","codEve2":"CONSALERTS","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"}}}'
|
||||
Loading…
x
Reference in New Issue
Block a user