diff --git a/scripts/native/file/dom-service-order-payment-search-1.0-native-quarkus-jdk17-runner b/scripts/native/file/dom-service-order-payment-search-1.0-native-quarkus-jdk17-runner index 7d190d4..5137ae4 100644 Binary files a/scripts/native/file/dom-service-order-payment-search-1.0-native-quarkus-jdk17-runner and b/scripts/native/file/dom-service-order-payment-search-1.0-native-quarkus-jdk17-runner differ diff --git a/src/main/java/com/banesco/common/application/helper/RequestValidatorHelper.java b/src/main/java/com/banesco/common/application/helper/RequestValidatorHelper.java index 0f9c1b7..547309a 100644 --- a/src/main/java/com/banesco/common/application/helper/RequestValidatorHelper.java +++ b/src/main/java/com/banesco/common/application/helper/RequestValidatorHelper.java @@ -14,6 +14,9 @@ import java.util.List; public class RequestValidatorHelper { private final RequestValidationConfig config; + private static final String REQUIRED_CODE = "VDE01"; + private static final String VALIDATE_CODE = "VDE02"; + @Inject public RequestValidatorHelper( RequestValidationConfig config 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/payment_order/infrastructure/client/PaymentOrderClient.java b/src/main/java/com/banesco/module/payment_order/infrastructure/client/PaymentOrderClient.java index d0198fe..3d87193 100644 --- a/src/main/java/com/banesco/module/payment_order/infrastructure/client/PaymentOrderClient.java +++ b/src/main/java/com/banesco/module/payment_order/infrastructure/client/PaymentOrderClient.java @@ -22,6 +22,8 @@ public class PaymentOrderClient implements PaymentOrderUseCase { private final HttpClientUseCase httpClientUseCase; private final PaymentOrderConfig paymentOrderConfig; + private static final String EMPTY_MESSAGE = "EMPTY_MESSAGE"; + @Inject public PaymentOrderClient( SerializationHelper serializationHelper, @@ -66,12 +68,19 @@ public class PaymentOrderClient implements PaymentOrderUseCase { ); 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(); } @@ -86,10 +95,10 @@ public class PaymentOrderClient implements PaymentOrderUseCase { ); 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/java/com/banesco/module/service_order_payment_search/application/service/ServiceOrderPaymentSearchService.java b/src/main/java/com/banesco/module/service_order_payment_search/application/service/ServiceOrderPaymentSearchService.java index 68cd41b..e487288 100644 --- a/src/main/java/com/banesco/module/service_order_payment_search/application/service/ServiceOrderPaymentSearchService.java +++ b/src/main/java/com/banesco/module/service_order_payment_search/application/service/ServiceOrderPaymentSearchService.java @@ -45,7 +45,7 @@ public class ServiceOrderPaymentSearchService implements ServiceOrderPaymentSear ); } 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/service_order_payment_search/infrastructure/adapter/ApiPrivateAdapter.java b/src/main/java/com/banesco/module/service_order_payment_search/infrastructure/adapter/ApiPrivateAdapter.java index cefa62a..eda56f1 100644 --- a/src/main/java/com/banesco/module/service_order_payment_search/infrastructure/adapter/ApiPrivateAdapter.java +++ b/src/main/java/com/banesco/module/service_order_payment_search/infrastructure/adapter/ApiPrivateAdapter.java @@ -45,7 +45,7 @@ public class ApiPrivateAdapter implements ApiPrivateRepository { log.info("Ejecutando API privada BOL -> {}", request.getChannelCode()); return executeBol(paymentOrderRequest); } else { - throw HttpStatusCodeException.badRequest("400"); + throw HttpStatusCodeException.conflict("PIBE-00"); } } @@ -79,7 +79,7 @@ public class ApiPrivateAdapter implements ApiPrivateRepository { private void validateResponseNotEmpty(List response) { if (response.isEmpty()) { - throw HttpStatusCodeException.badRequest("400"); + throw HttpStatusCodeException.conflict("PIBE-00"); } } } diff --git a/src/main/java/com/banesco/module/service_order_payment_search/infrastructure/resource/ServiceOrderPaymentSearchResource.java b/src/main/java/com/banesco/module/service_order_payment_search/infrastructure/resource/ServiceOrderPaymentSearchResource.java index df1a758..92ff4ba 100644 --- a/src/main/java/com/banesco/module/service_order_payment_search/infrastructure/resource/ServiceOrderPaymentSearchResource.java +++ b/src/main/java/com/banesco/module/service_order_payment_search/infrastructure/resource/ServiceOrderPaymentSearchResource.java @@ -430,7 +430,7 @@ public class ServiceOrderPaymentSearchResource { 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") @@ -442,7 +442,7 @@ public class ServiceOrderPaymentSearchResource { String initiatedDate, @QueryParam("instructionRequestId") - @Parameter(description = "ID de la peticion de pago", example = "1") + @Parameter(description = "ID de la peticion de pago", example = "2") String instructionRequestId, @QueryParam("deviceType") diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index c40eb10..d2b1877 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -17,6 +17,6 @@ api: dom-service-order-payment-search: messages: key: 'dom-service-order-payment-search' - 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-order-by-parameters: '{"url":"http://10.135.193.156:8080/RequestPayment/notificationRequestPayment/v1/querys/getGeneralRequestPayByParams/{signatureIdentifier}","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 de0b659..8c87351 100644 --- a/src/main/resources/configmap.yaml +++ b/src/main/resources/configmap.yaml @@ -61,7 +61,7 @@ data: quarkus.application.version: 1.0.0 quarkus.log.level: INFO quarkus.debug.reflection: 'false' - api.dom-service-order-payment-search.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":"VRN02","httpCode":"204","statusCode":"VRN02","description":"Cliente sin productos"}]' + api.dom-service-order-payment-search.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.debug.print-startup-times: 'true' quarkus.swagger-ui.path: /swagger-ui quarkus.application.name: dom-service-order-payment-search