update clients
This commit is contained in:
parent
64a5253a69
commit
1179fd2877
@ -41,7 +41,11 @@ public class MessageResponseHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Response handleException(HttpStatusCodeException exception) {
|
public Response handleException(HttpStatusCodeException exception) {
|
||||||
log.error("Error interno controlado: {}", exception.getMessage());
|
log.error(
|
||||||
|
"Error interno controlado: {} -> {}",
|
||||||
|
exception.getStatusCode(),
|
||||||
|
exception.getErrorCode()
|
||||||
|
);
|
||||||
return buildErrorResponse(exception);
|
return buildErrorResponse(exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import com.banesco.common.domain.exception.HttpApiResponseException;
|
|||||||
import com.banesco.common.domain.exception.HttpStatusCodeException;
|
import com.banesco.common.domain.exception.HttpStatusCodeException;
|
||||||
import com.banesco.common.domain.model.ApiResponse;
|
import com.banesco.common.domain.model.ApiResponse;
|
||||||
import com.banesco.common.domain.model.HttpRequest;
|
import com.banesco.common.domain.model.HttpRequest;
|
||||||
import com.banesco.common.domain.model.StatusResponse;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.JavaType;
|
import com.fasterxml.jackson.databind.JavaType;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
@ -76,9 +76,9 @@ public class HttpClientService implements HttpClientUseCase {
|
|||||||
} catch (HttpStatusCodeException | HttpApiResponseException e) {
|
} catch (HttpStatusCodeException | HttpApiResponseException e) {
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error de conexión {} {}: {}", request.getMethod(), request.getUrl(), e.getMessage());
|
log.error("Error de conexión {}: {}", request.getMethod(), e.getMessage());
|
||||||
throw HttpStatusCodeException.serviceUnavailable(
|
throw HttpStatusCodeException.serviceUnavailable(
|
||||||
"HTTP_CONNECTION_ERROR",
|
"503",
|
||||||
"Error de conexión con el servicio externo: " + e.getMessage()
|
"Error de conexión con el servicio externo: " + e.getMessage()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -106,33 +106,45 @@ public class HttpClientService implements HttpClientUseCase {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private Client createClient(int connectTimeout, int readTimeout) {
|
private Client createClient(
|
||||||
|
int connectTimeout,
|
||||||
|
int readTimeout
|
||||||
|
) {
|
||||||
return ClientBuilder.newBuilder()
|
return ClientBuilder.newBuilder()
|
||||||
.connectTimeout(connectTimeout, TimeUnit.MILLISECONDS)
|
.connectTimeout(connectTimeout, TimeUnit.MILLISECONDS)
|
||||||
.readTimeout(readTimeout, TimeUnit.MILLISECONDS)
|
.readTimeout(readTimeout, TimeUnit.MILLISECONDS)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
private <T> T handleResponse(
|
private <T> T handleResponse(
|
||||||
HttpRequest request,
|
HttpRequest request,
|
||||||
Response response
|
Response response
|
||||||
) {
|
) {
|
||||||
int statusCode = response.getStatus();
|
int statusCode = response.getStatus();
|
||||||
log.info("Respuesta {} {} - Status: {}", request.getMethod(), request.getUrl(), statusCode);
|
log.info("Respuesta {} - Status: {}", request.getMethod(), statusCode);
|
||||||
|
|
||||||
try (response) {
|
try (response) {
|
||||||
|
String responseBody = response.readEntity(String.class);
|
||||||
|
|
||||||
if (statusCode >= 200 && statusCode < 300) {
|
if (statusCode >= 200 && statusCode < 300) {
|
||||||
if (request.getResponseType() == Void.class || request.getResponseType() == void.class) {
|
if (request.getResponseType() == Void.class || request.getResponseType() == void.class) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
T result = (T) response.readEntity(request.getResponseType());
|
T result;
|
||||||
|
|
||||||
|
if (request.getResponseType() == ApiResponse.class) {
|
||||||
|
result = deserializeApiResponse(responseBody, request);
|
||||||
|
} else {
|
||||||
|
result = objectMapper.readValue(
|
||||||
|
responseBody,
|
||||||
|
objectMapper.getTypeFactory().constructType(request.getResponseType())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("Respuesta exitosa {} {}: {}", request.getMethod(), request.getUrl(), result);
|
log.debug("Respuesta exitosa {} {}: {}", request.getMethod(), request.getUrl(), result);
|
||||||
return result;
|
return result;
|
||||||
} else {
|
} else {
|
||||||
String responseBody = response.readEntity(String.class);
|
|
||||||
|
|
||||||
log.error(
|
log.error(
|
||||||
"Error HTTP {} {} - Status: {} - Body: {}",
|
"Error HTTP {} {} - Status: {} - Body: {}",
|
||||||
request.getMethod(),
|
request.getMethod(),
|
||||||
@ -142,7 +154,7 @@ public class HttpClientService implements HttpClientUseCase {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (isApiResponseFormat(responseBody)) {
|
if (isApiResponseFormat(responseBody)) {
|
||||||
ApiResponse<?> apiResponse = parseApiResponse(responseBody, request.getResponseType());
|
ApiResponse<?> apiResponse = deserializeApiResponse(responseBody, request);
|
||||||
throw new HttpApiResponseException(statusCode, apiResponse);
|
throw new HttpApiResponseException(statusCode, apiResponse);
|
||||||
} else {
|
} else {
|
||||||
throw mapHttpStatusToException(statusCode, responseBody);
|
throw mapHttpStatusToException(statusCode, responseBody);
|
||||||
@ -158,12 +170,40 @@ public class HttpClientService implements HttpClientUseCase {
|
|||||||
e.getMessage()
|
e.getMessage()
|
||||||
);
|
);
|
||||||
throw HttpStatusCodeException.internalServer(
|
throw HttpStatusCodeException.internalServer(
|
||||||
"ERROR",
|
"500",
|
||||||
"Error procesando respuesta del servicio externo: " + e.getMessage()
|
"Error procesando respuesta del servicio externo: " + e.getMessage()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
private <T> T deserializeApiResponse(
|
||||||
|
String responseBody,
|
||||||
|
HttpRequest request
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
if (request.getGenericType() != null) {
|
||||||
|
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(
|
||||||
|
ApiResponse.class,
|
||||||
|
objectMapper.getTypeFactory().constructType(request.getGenericType())
|
||||||
|
);
|
||||||
|
return objectMapper.readValue(responseBody, javaType);
|
||||||
|
} else {
|
||||||
|
return (T) objectMapper.readValue(responseBody, ApiResponse.class);
|
||||||
|
}
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
throw HttpStatusCodeException.internalServer(
|
||||||
|
"500",
|
||||||
|
"Error deserializando respuesta JSON: " + e.getMessage()
|
||||||
|
);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw HttpStatusCodeException.internalServer(
|
||||||
|
"500",
|
||||||
|
"Error desconocido al deserializar respuesta: " + e.getMessage()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isApiResponseFormat(String responseBody) {
|
private boolean isApiResponseFormat(String responseBody) {
|
||||||
try {
|
try {
|
||||||
if (responseBody == null || responseBody.trim().isEmpty()) {
|
if (responseBody == null || responseBody.trim().isEmpty()) {
|
||||||
@ -179,39 +219,6 @@ public class HttpClientService implements HttpClientUseCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private <T> ApiResponse<T> parseApiResponse(
|
|
||||||
String responseBody,
|
|
||||||
Class<?> responseType
|
|
||||||
) {
|
|
||||||
try {
|
|
||||||
JavaType javaType;
|
|
||||||
|
|
||||||
if (responseType == ApiResponse.class) {
|
|
||||||
javaType = objectMapper.getTypeFactory().constructParametricType(
|
|
||||||
ApiResponse.class,
|
|
||||||
objectMapper.getTypeFactory().constructType(Object.class)
|
|
||||||
);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
javaType = objectMapper.getTypeFactory().constructParametricType(
|
|
||||||
ApiResponse.class,
|
|
||||||
objectMapper.getTypeFactory().constructType(responseType)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return objectMapper.readValue(responseBody, javaType);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("Error parseando ApiResponse: {}", e.getMessage());
|
|
||||||
|
|
||||||
return new ApiResponse<>(
|
|
||||||
StatusResponse.builder()
|
|
||||||
.statusCode("500")
|
|
||||||
.message("Error parseando respuesta del servicio")
|
|
||||||
.build()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private HttpStatusCodeException mapHttpStatusToException(
|
private HttpStatusCodeException mapHttpStatusToException(
|
||||||
int statusCode,
|
int statusCode,
|
||||||
String errorBody
|
String errorBody
|
||||||
|
|||||||
@ -6,14 +6,14 @@ import lombok.Getter;
|
|||||||
@Getter
|
@Getter
|
||||||
public class HttpApiResponseException extends RuntimeException {
|
public class HttpApiResponseException extends RuntimeException {
|
||||||
private final int statusCode;
|
private final int statusCode;
|
||||||
private final ApiResponse<?> apiResponse;
|
private final transient ApiResponse<?> apiResponse;
|
||||||
|
|
||||||
public HttpApiResponseException(int statusCode, ApiResponse<?> apiResponse) {
|
public HttpApiResponseException(int statusCode, ApiResponse<?> apiResponse) {
|
||||||
super(
|
super(String.format(
|
||||||
String.format("HTTP %d: %s", statusCode,
|
"HTTP %d: %s", statusCode,
|
||||||
apiResponse.getStatusResponse() != null ?
|
apiResponse.getStatusResponse() != null ?
|
||||||
apiResponse.getStatusResponse().getMessage() : "Error sin mensaje")
|
apiResponse.getStatusResponse().getMessage() : "Error sin mensaje"
|
||||||
);
|
));
|
||||||
this.statusCode = statusCode;
|
this.statusCode = statusCode;
|
||||||
this.apiResponse = apiResponse;
|
this.apiResponse = apiResponse;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package com.banesco.common.domain.model;
|
package com.banesco.common.domain.model;
|
||||||
|
|
||||||
import com.banesco.common.domain.model.Arrangement;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import io.quarkus.runtime.annotations.RegisterForReflection;
|
import io.quarkus.runtime.annotations.RegisterForReflection;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|||||||
@ -1,24 +1,36 @@
|
|||||||
package com.banesco.common.domain.model;
|
package com.banesco.common.domain.model;
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.*;
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.ToString;
|
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Builder
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
public class HttpRequest {
|
public class HttpRequest {
|
||||||
private String url;
|
private String url;
|
||||||
private HttpMethod method;
|
private HttpMethod method;
|
||||||
private Object body;
|
private Object body;
|
||||||
private Map<String, String> pathParams;
|
|
||||||
private Map<String, String> queryParams;
|
|
||||||
private Map<String, String> headers;
|
private Map<String, String> headers;
|
||||||
private Class<?> responseType;
|
private Map<String, String> queryParams;
|
||||||
private int connectTimeout;
|
private Map<String, String> pathParams;
|
||||||
private int readTimeout;
|
|
||||||
|
@Builder.Default
|
||||||
|
private Class<?> responseType = Object.class;
|
||||||
|
|
||||||
|
private Class<?> genericType;
|
||||||
|
|
||||||
|
@Builder.Default
|
||||||
|
private int connectTimeout = 5000;
|
||||||
|
|
||||||
|
@Builder.Default
|
||||||
|
private int readTimeout = 10000;
|
||||||
|
|
||||||
|
@Builder.Default
|
||||||
|
private boolean returnFullResponse = false;
|
||||||
|
|
||||||
public enum HttpMethod {
|
public enum HttpMethod {
|
||||||
GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
|
GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package com.banesco.module.account.domain.model;
|
package com.banesco.module.account.domain.model;
|
||||||
|
|
||||||
import com.banesco.module.account.domain.model.AccountStatusType;
|
|
||||||
import io.quarkus.runtime.annotations.RegisterForReflection;
|
import io.quarkus.runtime.annotations.RegisterForReflection;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
|
|||||||
@ -66,7 +66,7 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc
|
|||||||
|
|
||||||
throw HttpStatusCodeException.serviceUnavailable("503");
|
throw HttpStatusCodeException.serviceUnavailable("503");
|
||||||
} catch (HttpStatusCodeException e) {
|
} catch (HttpStatusCodeException e) {
|
||||||
log.error("Excepción HTTP del api de dominio: {} - {}", e.getStatusCode(), e.getMessage());
|
log.error("Excepción HTTP del api de dominio: {} - {}", e.getStatusCode(), e.getErrorCode());
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Excepción genérica del api de dominio: {}", e.getMessage());
|
log.error("Excepción genérica del api de dominio: {}", e.getMessage());
|
||||||
|
|||||||
@ -3,8 +3,6 @@ package com.banesco.module.legal_customer_product_directory.application.usecase;
|
|||||||
import com.banesco.common.domain.model.ApiResponse;
|
import com.banesco.common.domain.model.ApiResponse;
|
||||||
import com.banesco.module.legal_customer_product_directory.domain.dto.request.LegalCustomerProductDirectoryRequest;
|
import com.banesco.module.legal_customer_product_directory.domain.dto.request.LegalCustomerProductDirectoryRequest;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public interface DomainUseCase {
|
public interface DomainUseCase {
|
||||||
<T> ApiResponse<T> execute(
|
<T> ApiResponse<T> execute(
|
||||||
LegalCustomerProductDirectoryRequest params,
|
LegalCustomerProductDirectoryRequest params,
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import com.banesco.common.domain.exception.HttpStatusCodeException;
|
|||||||
import com.banesco.common.domain.model.ApiResponse;
|
import com.banesco.common.domain.model.ApiResponse;
|
||||||
import com.banesco.common.domain.model.DominionConfig;
|
import com.banesco.common.domain.model.DominionConfig;
|
||||||
import com.banesco.common.domain.model.HttpRequest;
|
import com.banesco.common.domain.model.HttpRequest;
|
||||||
import com.banesco.common.domain.model.StatusResponse;
|
|
||||||
import com.banesco.common.infrastructure.config.RestClientConfig;
|
import com.banesco.common.infrastructure.config.RestClientConfig;
|
||||||
import com.banesco.module.legal_customer_product_directory.application.usecase.DomainUseCase;
|
import com.banesco.module.legal_customer_product_directory.application.usecase.DomainUseCase;
|
||||||
import com.banesco.module.legal_customer_product_directory.domain.dto.request.LegalCustomerProductDirectoryRequest;
|
import com.banesco.module.legal_customer_product_directory.domain.dto.request.LegalCustomerProductDirectoryRequest;
|
||||||
@ -33,21 +32,18 @@ public class DomLegalCustomerDirectoryClient implements DomainUseCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public <T> ApiResponse<T> execute(
|
public <T> ApiResponse<T> execute(
|
||||||
LegalCustomerProductDirectoryRequest params,
|
LegalCustomerProductDirectoryRequest params,
|
||||||
Class<T> responseType
|
Class<T> responseType
|
||||||
) {
|
) {
|
||||||
String customerIbsNumber = params.getCustomerIbsNumber();
|
String customerIbsNumber = params.getCustomerIbsNumber();
|
||||||
|
|
||||||
log.info("Consultando información del cliente: {}", customerIbsNumber);
|
|
||||||
|
|
||||||
HttpRequest request = HttpRequest.builder()
|
HttpRequest request = HttpRequest.builder()
|
||||||
.url(dominionConfig.getUrl())
|
.url(dominionConfig.getUrl())
|
||||||
.method(HttpRequest.HttpMethod.GET)
|
.method(HttpRequest.HttpMethod.GET)
|
||||||
.pathParams(Map.of("customerIbsNumber", customerIbsNumber))
|
.pathParams(Map.of("customerIbsNumber", customerIbsNumber))
|
||||||
.queryParams(params.toQueryString())
|
.queryParams(params.toQueryString())
|
||||||
.responseType(ApiResponse.class)
|
.responseType(ApiResponse.class)
|
||||||
|
.genericType(responseType)
|
||||||
.connectTimeout(dominionConfig.getTimeout().getConnect())
|
.connectTimeout(dominionConfig.getTimeout().getConnect())
|
||||||
.readTimeout(dominionConfig.getTimeout().getResponse())
|
.readTimeout(dominionConfig.getTimeout().getResponse())
|
||||||
.build();
|
.build();
|
||||||
@ -58,9 +54,8 @@ public class DomLegalCustomerDirectoryClient implements DomainUseCase {
|
|||||||
ApiResponse<T> response = httpClientUseCase.execute(request);
|
ApiResponse<T> response = httpClientUseCase.execute(request);
|
||||||
|
|
||||||
log.info(
|
log.info(
|
||||||
"Solicitud del api de dominio exitoso: {} -> {}",
|
"Solicitud del api de dominio exitoso: {}",
|
||||||
response.getStatusResponse(),
|
response.getStatusResponse()
|
||||||
response.getData()
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
@ -71,7 +66,10 @@ public class DomLegalCustomerDirectoryClient implements DomainUseCase {
|
|||||||
e.getApiResponse()
|
e.getApiResponse()
|
||||||
);
|
);
|
||||||
|
|
||||||
return (ApiResponse<T>) e.getApiResponse();
|
throw new HttpStatusCodeException(
|
||||||
|
e.getStatusCode(),
|
||||||
|
e.getApiResponse().getStatusResponse().getStatusCode()
|
||||||
|
);
|
||||||
} catch (HttpStatusCodeException e) {
|
} catch (HttpStatusCodeException e) {
|
||||||
log.error(
|
log.error(
|
||||||
"Error HTTP consultando cliente {}: {} - {}",
|
"Error HTTP consultando cliente {}: {} - {}",
|
||||||
@ -80,16 +78,10 @@ public class DomLegalCustomerDirectoryClient implements DomainUseCase {
|
|||||||
e.getMessage()
|
e.getMessage()
|
||||||
);
|
);
|
||||||
|
|
||||||
return new ApiResponse<>(
|
throw e;
|
||||||
StatusResponse.builder()
|
|
||||||
.statusCode(String.valueOf(e.getStatusCode()))
|
|
||||||
.message(e.getMessage())
|
|
||||||
.build()
|
|
||||||
);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error consultando cliente {}: {}", customerIbsNumber, e.getMessage());
|
log.error("Error consultando cliente {}: {}", customerIbsNumber, e.getMessage());
|
||||||
|
throw HttpStatusCodeException.serviceUnavailable("503");
|
||||||
return new ApiResponse<>(StatusResponse.builder().statusCode("503").build());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,7 +1,6 @@
|
|||||||
package com.banesco.module.party.domain.model;
|
package com.banesco.module.party.domain.model;
|
||||||
|
|
||||||
import com.banesco.common.domain.model.Identifier;
|
import com.banesco.common.domain.model.Identifier;
|
||||||
import com.banesco.module.party.domain.model.PartyIdentificationType;
|
|
||||||
import io.quarkus.runtime.annotations.RegisterForReflection;
|
import io.quarkus.runtime.annotations.RegisterForReflection;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
|
|||||||
@ -4,8 +4,6 @@ import com.fasterxml.jackson.annotation.JsonInclude;
|
|||||||
import io.quarkus.runtime.annotations.RegisterForReflection;
|
import io.quarkus.runtime.annotations.RegisterForReflection;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ToString
|
@ToString
|
||||||
@Builder
|
@Builder
|
||||||
@ -14,120 +12,8 @@ import java.math.BigDecimal;
|
|||||||
@RegisterForReflection
|
@RegisterForReflection
|
||||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
public class SecurityTraceRequest {
|
public class SecurityTraceRequest {
|
||||||
private String codBan;
|
|
||||||
private String codMon;
|
|
||||||
private String codEve;
|
|
||||||
private String codEve2;
|
|
||||||
private String login;
|
|
||||||
private String fecHor;
|
|
||||||
private String nacCli;
|
|
||||||
private Integer cedRifCli;
|
|
||||||
private String tipoProductoCli;
|
|
||||||
private String tipoProductoBen;
|
|
||||||
private String productoCli;
|
|
||||||
private String codEmpresa;
|
|
||||||
private String nacBen;
|
|
||||||
private Integer cedBen;
|
|
||||||
private String nombreBen;
|
|
||||||
private String productoBen;
|
|
||||||
private BigDecimal monto;
|
|
||||||
private String referencia;
|
|
||||||
private String nroDePago;
|
|
||||||
private String desPago;
|
|
||||||
private String objeto;
|
|
||||||
private Integer tipoRespuesta;
|
|
||||||
private String msgRespuesta;
|
|
||||||
private Integer tiempoRespuesta;
|
|
||||||
private String codFintech;
|
|
||||||
private String cedRifFintech;
|
|
||||||
private String nombreFintech;
|
|
||||||
private String tipoDispositivo;
|
|
||||||
private String desDispositivo;
|
|
||||||
private String ipCli;
|
|
||||||
private String refInternacional;
|
|
||||||
private BigDecimal montoReceptor;
|
|
||||||
private String refBanco;
|
|
||||||
private String stsTransaccion;
|
|
||||||
private String tipoMonedaEmi;
|
|
||||||
private String tipoMonedaRec;
|
|
||||||
private String paisEmisor;
|
|
||||||
private String paisReceptor;
|
|
||||||
private BigDecimal montoEmisor;
|
|
||||||
private String numeroCuentaEmi;
|
|
||||||
private String numeroCuentaRec;
|
|
||||||
private String numeroTelefonoRec;
|
|
||||||
private String propositoTransaccion;
|
|
||||||
private BigDecimal montoComision;
|
|
||||||
private String tipoIdEmisor;
|
|
||||||
private String idEmisor;
|
|
||||||
private BigDecimal numeroTarjeta;
|
|
||||||
private Integer codigoAutoriza;
|
|
||||||
private String refUniversal;
|
|
||||||
private String fechaAprobacion;
|
|
||||||
private String refBanesco;
|
|
||||||
private String fecHorCarga;
|
|
||||||
private String tipoProductoEmisor;
|
|
||||||
private String ctaEmisor;
|
|
||||||
private String tipoProductoReceptor;
|
|
||||||
private String ctaReceptor;
|
|
||||||
private String idReceptor;
|
|
||||||
private String nombreReceptor;
|
|
||||||
private String refExterna;
|
|
||||||
private String origenFondos;
|
|
||||||
private String destinoFondos;
|
|
||||||
private String fecHorTransaccion;
|
|
||||||
private String metodoPagoEmisor;
|
|
||||||
private String valorMetodoPagoEmisor;
|
|
||||||
private String entFinancieraEmisor;
|
|
||||||
private String nombreEmisor;
|
|
||||||
private String monedaEmisor;
|
|
||||||
private String metodoPagoReceptor;
|
|
||||||
private String valorMetodoPagoReceptor;
|
|
||||||
private String entFinancieraReceptor;
|
|
||||||
private String monedaReceptor;
|
|
||||||
private String descPago;
|
|
||||||
private String descTransaccion;
|
|
||||||
private BigDecimal tasaComision;
|
|
||||||
private BigDecimal numTarjeta;
|
|
||||||
private String codAutorizacion;
|
|
||||||
private String fecHorAprobacion;
|
|
||||||
private BigDecimal montoIgtf;
|
|
||||||
private BigDecimal montoLbtr;
|
|
||||||
private BigDecimal tasaCambio;
|
|
||||||
private BigDecimal montoTotalBs;
|
|
||||||
private String sp;
|
private String sp;
|
||||||
private String cn;
|
private String eventCod;
|
||||||
private String OU;
|
private String bankCod;
|
||||||
private String distinguishedName;
|
private String curCod;
|
||||||
private String userPassword;
|
|
||||||
private Integer Enabled;
|
|
||||||
private String givenName;
|
|
||||||
private String sn;
|
|
||||||
private String mail;
|
|
||||||
private String employeeNumber;
|
|
||||||
private String employeeID;
|
|
||||||
private String mobile;
|
|
||||||
private String homePhone;
|
|
||||||
private String company;
|
|
||||||
private String personalTitle;
|
|
||||||
private String title;
|
|
||||||
private String description;
|
|
||||||
private String departament;
|
|
||||||
private String otherMobile;
|
|
||||||
private String otherHomePhone;
|
|
||||||
private String telephoneNumber;
|
|
||||||
private String facsimileTelephoneNumber;
|
|
||||||
private String postalAddress;
|
|
||||||
private String postalCode;
|
|
||||||
private String st;
|
|
||||||
private String owner;
|
|
||||||
private String serialNumber;
|
|
||||||
private String usuarioMaster;
|
|
||||||
private Integer lockoutTime;
|
|
||||||
private Integer lockoutDuration;
|
|
||||||
private Integer lockoutThreshold;
|
|
||||||
private Integer badPwdCount;
|
|
||||||
private String badPasswordTime;
|
|
||||||
private String oU;
|
|
||||||
private Integer enabled;
|
|
||||||
}
|
}
|
||||||
@ -30,9 +30,6 @@ public class SecurityTraceClient implements SecurityTraceUseCase {
|
|||||||
@Override
|
@Override
|
||||||
public <T> T execute(Class<T> responseType) {
|
public <T> T execute(Class<T> responseType) {
|
||||||
SecurityTraceRequest body = securityTraceConfig.getRequest();
|
SecurityTraceRequest body = securityTraceConfig.getRequest();
|
||||||
|
|
||||||
log.info("Ejecutando traza de seguridad: {}", body);
|
|
||||||
|
|
||||||
HttpRequest request = HttpRequest.builder()
|
HttpRequest request = HttpRequest.builder()
|
||||||
.url(securityTraceConfig.getUrl())
|
.url(securityTraceConfig.getUrl())
|
||||||
.method(HttpRequest.HttpMethod.POST)
|
.method(HttpRequest.HttpMethod.POST)
|
||||||
@ -60,7 +57,6 @@ public class SecurityTraceClient implements SecurityTraceUseCase {
|
|||||||
throw e;
|
throw e;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error ejecutando traza de seguridad: {}", e.getMessage());
|
log.error("Error ejecutando traza de seguridad: {}", e.getMessage());
|
||||||
|
|
||||||
throw HttpStatusCodeException.serviceUnavailable("503");
|
throw HttpStatusCodeException.serviceUnavailable("503");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,9 +37,6 @@ public class ServiceStatusClient implements ServiceStatusUseCase {
|
|||||||
.transactionId(params.getTransactionId())
|
.transactionId(params.getTransactionId())
|
||||||
.bankService(serviceStatusConfig.getRequest().getBankService())
|
.bankService(serviceStatusConfig.getRequest().getBankService())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
log.info("Ejecutando verificación de estado del servicio: {}", body);
|
|
||||||
|
|
||||||
HttpRequest request = HttpRequest.builder()
|
HttpRequest request = HttpRequest.builder()
|
||||||
.url(serviceStatusConfig.getUrl())
|
.url(serviceStatusConfig.getUrl())
|
||||||
.method(HttpRequest.HttpMethod.POST)
|
.method(HttpRequest.HttpMethod.POST)
|
||||||
@ -67,7 +64,6 @@ public class ServiceStatusClient implements ServiceStatusUseCase {
|
|||||||
throw e;
|
throw e;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error ejecutando verificación de estado del servicio: {}", e.getMessage());
|
log.error("Error ejecutando verificación de estado del servicio: {}", e.getMessage());
|
||||||
|
|
||||||
throw HttpStatusCodeException.serviceUnavailable("503");
|
throw HttpStatusCodeException.serviceUnavailable("503");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,6 +15,6 @@ api:
|
|||||||
key: 'busLogalCustomerProductDirectory'
|
key: 'busLogalCustomerProductDirectory'
|
||||||
content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validación 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"},{"backend_code":"VRN04","http_code":"503","status_code":"VRN04","description":"Servicio en horario de mantenimiento","status":"error"},{"backend_code":"204","http_code":"200","status_code":"200","description":"Cliente sin productos","status":"ok"}]'
|
content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validación 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"},{"backend_code":"VRN04","http_code":"503","status_code":"VRN04","description":"Servicio en horario de mantenimiento","status":"error"},{"backend_code":"204","http_code":"200","status_code":"200","description":"Cliente sin productos","status":"ok"}]'
|
||||||
rest-client:
|
rest-client:
|
||||||
dom-legal-customer-product-directory: '{"url":"http://localhost:8083/dom-legal-customer-product-directory/retrieve/{customerIbsNumber}/{appId}/{customerReferenceFintechId}","timeout":{"connect":20000,"response":20000}}'
|
dom-legal-customer-product-directory: '{"url":"http://localhost:8083/dom-legal-customer-product-directory/retrieve/{customerIbsNumber}","timeout":{"connect":20000,"response":20000}}'
|
||||||
security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":20000,"response":20000},"request":{"sp":"spAPI_Traza","eventCod":"CANCTARJ","bankCod":"01","curCod":"BS"}}'
|
security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":20000,"response":20000},"request":{"sp":"spAPI_Traza","eventCod":"CANCTARJ","bankCod":"01","curCod":"BS"}}'
|
||||||
service-status: '{"url":"http://api-get-service-status-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/service/status","timeout":{"connect":20000,"response":20000},"request":{"applicationId": "","transactionId": "","bankService": {"bankCode": "01","serviceCode": "APIFI","eventCode": "P2PVUEL"}}}'
|
service-status: '{"url":"http://api-get-service-status-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/service/status","timeout":{"connect":20000,"response":20000},"request":{"applicationId": "","transactionId": "","bankService": {"bankCode": "01","serviceCode": "APIFI","eventCode": "P2PVUEL"}}}'
|
||||||
Loading…
x
Reference in New Issue
Block a user