diff --git a/scripts/native/file/rec-legal-customer-product-directory-1.0-native-quarkus-jdk17-runner b/scripts/native/file/rec-legal-customer-product-directory-1.0-native-quarkus-jdk17-runner index a281f0f..2e8cf73 100644 Binary files a/scripts/native/file/rec-legal-customer-product-directory-1.0-native-quarkus-jdk17-runner and b/scripts/native/file/rec-legal-customer-product-directory-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 77bf199..eab634f 100644 --- a/src/main/java/com/banesco/common/application/helper/RequestValidatorHelper.java +++ b/src/main/java/com/banesco/common/application/helper/RequestValidatorHelper.java @@ -22,7 +22,7 @@ public class RequestValidatorHelper { public void validateRequired( LegalCustomerProductDirectoryRequest request ) { - required(request.getCustomerIbsNumber(), "customerIbsNumber"); + required(request.getCustomerId(), "customerId"); required(request.getCustomerReferenceFintechId(), "customerReferenceFintechId"); required(request.getAppId(), "appId"); } @@ -30,7 +30,7 @@ public class RequestValidatorHelper { public void validateFieldValues( LegalCustomerProductDirectoryRequest request ) { - validate(request.getCustomerIbsNumber(), config.customerIbsNumber(), "customerIbsNumber"); + validate(request.getCustomerId(), config.customerId(), "customerId"); validate(request.getAccountStatus(), config.accountStatus(), "accountStatus"); validate(request.getProductCvCode(), config.productCvCode(), "productCvCode"); validate(request.getLimitType(), config.limitType(), "limitType"); diff --git a/src/main/java/com/banesco/common/infrastructure/config/RequestValidationConfig.java b/src/main/java/com/banesco/common/infrastructure/config/RequestValidationConfig.java index d027945..2933af6 100644 --- a/src/main/java/com/banesco/common/infrastructure/config/RequestValidationConfig.java +++ b/src/main/java/com/banesco/common/infrastructure/config/RequestValidationConfig.java @@ -4,7 +4,7 @@ import io.smallrye.config.ConfigMapping; @ConfigMapping(prefix = "api.allowed.request-validation") public interface RequestValidationConfig { - String customerIbsNumber(); + String customerId(); String accountStatus(); String productCvCode(); String limitType(); diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/application/service/LegalCustomerProductDirectoryService.java b/src/main/java/com/banesco/module/legal_customer_product_directory/application/service/LegalCustomerProductDirectoryService.java index 302ccfe..73b950d 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/application/service/LegalCustomerProductDirectoryService.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/application/service/LegalCustomerProductDirectoryService.java @@ -37,7 +37,7 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc public ApiResponse execute( LegalCustomerProductDirectoryRequest request ) { - log.info("Iniciando ejecucion para el cliente: {}", request.getCustomerIbsNumber()); + log.info("Iniciando ejecucion para el cliente: {}", request.getCustomerId()); validate(request); @@ -72,7 +72,7 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc private ApiResponse business( LegalCustomerProductDirectoryRequest request ) { - log.info("Ejecutando llamada al api de negocio: {}", request.getCustomerIbsNumber()); + log.info("Ejecutando llamada al api de negocio: {}", request.getCustomerId()); return businessUseCase.execute(request, LegalCustomerProductDirectoryResponse.class); } } \ No newline at end of file diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/request/LegalCustomerProductDirectoryRequest.java b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/request/LegalCustomerProductDirectoryRequest.java index ebea1d4..bbed19d 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/request/LegalCustomerProductDirectoryRequest.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/request/LegalCustomerProductDirectoryRequest.java @@ -20,7 +20,7 @@ public class LegalCustomerProductDirectoryRequest { @NonNull private String appId; // Header obligatorio @NonNull - private String customerIbsNumber; // VCUSCUN - Obligatorio (Numero de cliente IBS) + private String customerId; // VCUSCUN - Obligatorio (Numero de cliente IBS) private String bankNumber; // VACMBNK - Numero de Banco (filtro) private String currencyCode; // VACMCCY - Moneda (filtro) diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerProductDirectoryClient.java b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerProductDirectoryClient.java index c0635dc..52b013e 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerProductDirectoryClient.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerProductDirectoryClient.java @@ -36,22 +36,14 @@ public class BusLegalCustomerProductDirectoryClient implements BusinessUseCase { LegalCustomerProductDirectoryRequest params, Class responseType ) { - String customerIbsNumber = params.getCustomerIbsNumber(); - Map pathParams = Map.of("customerId", customerIbsNumber); - Map queryParams = params.toQueryString(); - - log.info("Construyendo request al API de negocio"); - log.info("URL base configurada: {}", businessConfig.getUrl()); - log.info("Path params: {}", pathParams); - log.info("Query params: {}", queryParams); - + String customerId = params.getCustomerId(); HttpRequest request = HttpRequest.forApiResponse( businessConfig.getUrl(), HttpRequest.HttpMethod.GET, responseType ) - .withPathParams(pathParams) - .withQueryParams(queryParams) + .withPathParams(Map.of("customerId", customerId)) + .withQueryParams(params.toQueryString()) .withTimeout( businessConfig.getTimeout().getConnect(), businessConfig.getTimeout().getResponse() @@ -71,7 +63,7 @@ public class BusLegalCustomerProductDirectoryClient implements BusinessUseCase { } catch (HttpApiResponseException e) { log.error( "Error HTTP con ApiResponse consultando cliente {}: {}", - customerIbsNumber, + customerId, e.getApiResponse() ); @@ -82,14 +74,14 @@ public class BusLegalCustomerProductDirectoryClient implements BusinessUseCase { } catch (HttpStatusCodeException e) { log.error( "Error HTTP consultando cliente {}: {} - {}", - customerIbsNumber, + customerId, e.getStatusCode(), e.getMessage() ); throw e; } catch (Exception e) { - log.error("Error consultando cliente {}: {}", customerIbsNumber, e.getMessage()); + log.error("Error consultando cliente {}: {}", customerId, e.getMessage()); throw HttpStatusCodeException.serviceUnavailable("503"); } } diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/resource/LegalCustomerProductDirectoryResource.java b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/resource/LegalCustomerProductDirectoryResource.java index e08de8d..9bb6c43 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/resource/LegalCustomerProductDirectoryResource.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/resource/LegalCustomerProductDirectoryResource.java @@ -219,7 +219,7 @@ public class LegalCustomerProductDirectoryResource { "data": null, "statusResponse": { "statusCode": "VDE01", - "message": "El campo customerIbsNumber es obligatorio" + "message": "El campo customerId es obligatorio" } } """ @@ -338,7 +338,7 @@ public class LegalCustomerProductDirectoryResource { try { return Response.ok(useCase.execute( LegalCustomerProductDirectoryRequest.builder() - .customerIbsNumber(Objects.toString(customerId, "")) + .customerId(Objects.toString(customerId, "")) .customerReferenceFintechId(customerReferenceFintechId) .appId(appId) .build() diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index e6d7e6a..8203bf9 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -10,7 +10,7 @@ api: source-id: RLCPD allowed: request-validation: - customer-ibs-number: '\d+' + customer-id: '\d+' account-status: '^(A|D|ACTBSUSD)$' product-cv-code: '^(CV|CVFL)$' limit-type: '^(PAG|REC)$' @@ -23,4 +23,4 @@ api: key: 'rec-legal-customer-product-directory' 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":"204","httpCode":"200","statusCode":"200","description":"Cliente sin productos","status":"ok"}]' rest-client: - bus-legal-customer-product-directory: '{"url":"http://localhost:8082/customer/accounts/retrieve/{customerId}","timeout":{"connect":15000,"response":15000},"config":{}}' \ No newline at end of file + bus-legal-customer-product-directory: '{"url":"http://localhost:8082/legal-customer-product-directory/retrieve/{customerId}","timeout":{"connect":15000,"response":15000},"config":{}}' \ No newline at end of file diff --git a/src/main/resources/configmap.yaml b/src/main/resources/configmap.yaml index 692ef53..725a830 100644 --- a/src/main/resources/configmap.yaml +++ b/src/main/resources/configmap.yaml @@ -85,5 +85,5 @@ data: quarkus.smallrye-health.readiness-path: /actuator/health/ready api.allowed.request-validation.cachea-indicator: ^(SI|NO)$ quarkus.log.console.enable: 'true' - api.rest-client.bus-legal-customer-product-directory: '{"url":"http://bus-legal-customer-product-directory-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/customer/accounts/retrieve/{customerId}","timeout":{"connect":20000,"response":20000},"config":{}}' + api.rest-client.bus-legal-customer-product-directory: '{"url":"http://bus-legal-customer-product-directory-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/legal-customer-product-directory/retrieve/{customerId}","timeout":{"connect":20000,"response":20000},"config":{}}' quarkus.smallrye-openapi.path: /openapi