update error messages into private api; update generals

This commit is contained in:
Ramon Ramirez 2026-01-30 15:47:59 -04:00
parent eb8949a5bf
commit cefe587d73
9 changed files with 101 additions and 78 deletions

View File

@ -5,7 +5,7 @@
<artifactId>dom-payment-instruction-request</artifactId>
<version>1.0-native-quarkus-jdk17</version>
<name>dom-payment-instruction-request</name>
<description>API Domain - Create payment single request</description>
<description>API Domain - Create payment multiple request</description>
<properties>
<maven.compiler.release>17</maven.compiler.release>

View File

@ -143,6 +143,20 @@ public class HttpRequest {
.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,

View File

@ -21,7 +21,7 @@ public class RestClientConfig {
private final ObjectMapper objectMapper;
private static final String API_BASE = "api.rest-client.";
private static final String API_PAYMENT_FILE_NAME = "payment-file";
private static final String API_PAYMENT_INSTRUCTION_NAME = "payment-file";
@Inject
public RestClientConfig(
@ -33,7 +33,7 @@ public class RestClientConfig {
}
public PaymentRequestConfig getPaymentRequestConfig() {
return getConfig(API_PAYMENT_FILE_NAME, PaymentRequestConfig.class);
return getConfig(API_PAYMENT_INSTRUCTION_NAME, PaymentRequestConfig.class);
}
private <T> T getConfig(

View File

@ -45,7 +45,7 @@ public class PaymentInstructionRequestService implements PaymentInstructionReque
);
} catch (ApiPrivateException e) {
log.warn("Excepcion de la api privada: {} -> {}", e.getStatusCode(), e.getMessage());
response = messageHelper.handleException(HttpStatusCodeException.badRequest("400"));
response = messageHelper.handleException(HttpStatusCodeException.conflict(e.getStatusCode()));
} catch (HttpStatusCodeException e) {
log.error("Excepcion HTTP del api privada: {} - {}", e.getStatusCode(), e.getErrorCode());
response = messageHelper.handleException(e);

View File

@ -35,7 +35,7 @@ public class ApiPrivateAdapter implements ApiPrivateRepository {
);
if(response.isEmpty()) {
throw HttpStatusCodeException.badRequest("400");
throw HttpStatusCodeException.conflict("PIBE-00");
}
log.info("Resultado de las transacciones obtenidas: {}", response.size());

View File

@ -22,6 +22,8 @@ public class PaymentRequestClient implements PaymentRequestUseCase {
private final HttpClientUseCase httpClientUseCase;
private final PaymentRequestConfig paymentRequestConfig;
private static final String EMPTY_MESSAGE = "EMPTY_MESSAGE";
@Inject
public PaymentRequestClient(
SerializationHelper serializationHelper,
@ -68,12 +70,19 @@ public class PaymentRequestClient implements PaymentRequestUseCase {
);
throw ApiPrivateException.builder()
.statusCode(response.getEstatus())
.message("EMPTY_MESSAGE")
.statusCode("PIBE-00")
.message(EMPTY_MESSAGE)
.build();
}
if (detail.isLeft()) {
if(detail.getLeft() == null) {
throw ApiPrivateException.builder()
.statusCode("PIBE-00")
.message(EMPTY_MESSAGE)
.build();
}
return detail.getLeft();
}
@ -88,10 +97,10 @@ public class PaymentRequestClient implements PaymentRequestUseCase {
);
throw ApiPrivateException.builder()
.statusCode(response.getEstatus())
.statusCode("PIBE-01")
.message((error.getCodError() != null)
? error.getCodError() + ":" + error.getMensajeError()
: "EMPTY_MESSAGE"
: EMPTY_MESSAGE
)
.build();
} catch (ApiPrivateException e) {

View File

@ -13,6 +13,6 @@ api:
dom-payment-instruction-request:
messages:
key: 'dom-payment-instruction-request'
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":"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":"PIBE-00","httpCode":409,"statusCode":"PIB-00","description":"Error Interno backend"},{"backendCode":"PIBE-01","httpCode":409,"statusCode":"PIB-01","description":"Error Interno backend"}]'
rest-client:
payment-file: '{"url":"http://10.135.193.156:8080/RequestPayment/notificationRequestPayment/v1/generate/createRequestPayMasive","timeout":{"connect":10000,"response":10000},"statusSuccess":"00"}'

View File

@ -72,7 +72,7 @@ data:
api.read-messages.from-props: 'true'
quarkus.http.port: '8080'
quarkus.profile: dev
api.dom-payment-instruction-request.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"},{"backend_code":"204","http_code":"200","status_code":"200","description":"Cliente sin productos","status":"ok"}]'
api.dom-payment-instruction-request.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":"PIBE-00","httpCode":409,"statusCode":"PIB-00","description":"Error Interno backend"},{"backendCode":"PIBE-01","httpCode":409,"statusCode":"PIB-01","description":"Error Interno backend"}]'
quarkus.log.console.format: '%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n'
quarkus.http.idle-timeout: 30s
quarkus.thread-pool.max-threads: '100'