diff --git a/pom.xml b/pom.xml
index edd5fef..59158bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
dom-payment-instruction-request
1.0-native-quarkus-jdk17
dom-payment-instruction-request
- API Domain - Create payment single request
+ API Domain - Create payment multiple request
17
diff --git a/scripts/native/file/dom-payment-instruction-request-1.0-native-quarkus-jdk17-runner b/scripts/native/file/dom-payment-instruction-request-1.0-native-quarkus-jdk17-runner
index 424a755..a9350c8 100644
Binary files a/scripts/native/file/dom-payment-instruction-request-1.0-native-quarkus-jdk17-runner and b/scripts/native/file/dom-payment-instruction-request-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 925198c..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,83 +58,83 @@ 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)
@@ -143,18 +143,32 @@ public class HttpRequest {
.build();
}
- public static HttpRequest forGenericResponse(
- String url,
- HttpMethod method,
- Class rawType,
- Class genericType
+ public static HttpRequest forDirectResponse(
+ String url,
+ HttpMethod method,
+ Class responseType,
+ Class errorType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(rawType)
- .complexType(TypeBuilder.parametricType(rawType, genericType))
- .build();
+ .url(url)
+ .method(method)
+ .responseType(responseType)
+ .errorType(errorType)
+ .build();
+ }
+
+ public static HttpRequest forGenericResponse(
+ String url,
+ HttpMethod method,
+ Class rawType,
+ Class genericType
+ ) {
+ return HttpRequest.builder()
+ .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/common/infrastructure/config/RestClientConfig.java b/src/main/java/com/banesco/common/infrastructure/config/RestClientConfig.java
index 97a0ab9..c4fdd8b 100644
--- a/src/main/java/com/banesco/common/infrastructure/config/RestClientConfig.java
+++ b/src/main/java/com/banesco/common/infrastructure/config/RestClientConfig.java
@@ -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 getConfig(
diff --git a/src/main/java/com/banesco/module/payment_instruction_request/application/service/PaymentInstructionRequestService.java b/src/main/java/com/banesco/module/payment_instruction_request/application/service/PaymentInstructionRequestService.java
index c5e96ee..84ee147 100644
--- a/src/main/java/com/banesco/module/payment_instruction_request/application/service/PaymentInstructionRequestService.java
+++ b/src/main/java/com/banesco/module/payment_instruction_request/application/service/PaymentInstructionRequestService.java
@@ -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);
diff --git a/src/main/java/com/banesco/module/payment_instruction_request/infrastructure/adapter/ApiPrivateAdapter.java b/src/main/java/com/banesco/module/payment_instruction_request/infrastructure/adapter/ApiPrivateAdapter.java
index 7c9c4ed..1b2aa17 100644
--- a/src/main/java/com/banesco/module/payment_instruction_request/infrastructure/adapter/ApiPrivateAdapter.java
+++ b/src/main/java/com/banesco/module/payment_instruction_request/infrastructure/adapter/ApiPrivateAdapter.java
@@ -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());
diff --git a/src/main/java/com/banesco/module/payment_request/infrastructure/client/PaymentRequestClient.java b/src/main/java/com/banesco/module/payment_request/infrastructure/client/PaymentRequestClient.java
index 7840dff..1e8d484 100644
--- a/src/main/java/com/banesco/module/payment_request/infrastructure/client/PaymentRequestClient.java
+++ b/src/main/java/com/banesco/module/payment_request/infrastructure/client/PaymentRequestClient.java
@@ -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) {
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 4303c99..79e2f14 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -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"}'
\ No newline at end of file
diff --git a/src/main/resources/configmap.yaml b/src/main/resources/configmap.yaml
index f8cecc9..69e5420 100644
--- a/src/main/resources/configmap.yaml
+++ b/src/main/resources/configmap.yaml
@@ -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'