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 18c6853..a281f0f 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/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 eaa7560..c0635dc 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 @@ -37,13 +37,21 @@ public class BusLegalCustomerProductDirectoryClient implements BusinessUseCase { 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); + HttpRequest request = HttpRequest.forApiResponse( businessConfig.getUrl(), HttpRequest.HttpMethod.GET, responseType ) - .withPathParams(Map.of("customerIbsNumber", customerIbsNumber)) - .withQueryParams(params.toQueryString()) + .withPathParams(pathParams) + .withQueryParams(queryParams) .withTimeout( businessConfig.getTimeout().getConnect(), businessConfig.getTimeout().getResponse() 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 dfa2fa6..e08de8d 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 @@ -24,7 +24,7 @@ import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; import java.util.Objects; @Slf4j -@Path("/rec-legal-customer-product-directory") +@Path("/customer/accounts") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public class LegalCustomerProductDirectoryResource { @@ -42,7 +42,7 @@ public class LegalCustomerProductDirectoryResource { } @GET - @Path("/retrieve/{customerIbsNumber : (?!retrieve$).*}") + @Path("/retrieve/{customerId}") @Operation( summary = "Recuperar productos de cliente legal", description = "Consulta masiva de cuentas por numero de cliente IBS" @@ -329,16 +329,16 @@ public class LegalCustomerProductDirectoryResource { @Parameter(description = "ID de la aplicacion", required = true, example = "DANIAPP") String appId, - @PathParam("customerIbsNumber") + @PathParam("customerId") @Parameter(description = "Numero de cliente IBS (VCUSCUN)", example = "200053197") - String customerIbsNumber + String customerId ) { - log.info("Iniciando consulta para cliente IBS: {}", customerIbsNumber); + log.info("Iniciando consulta para cliente IBS: {}", customerId); try { return Response.ok(useCase.execute( LegalCustomerProductDirectoryRequest.builder() - .customerIbsNumber(Objects.toString(customerIbsNumber, "")) + .customerIbsNumber(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 32f5765..e6d7e6a 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -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/bus-legal-customer-product-directory/retrieve/{customerIbsNumber}","timeout":{"connect":15000,"response":15000},"config":{}}' \ No newline at end of file + 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 diff --git a/src/main/resources/configmap.yaml b/src/main/resources/configmap.yaml index 99e020c..692ef53 100644 --- a/src/main/resources/configmap.yaml +++ b/src/main/resources/configmap.yaml @@ -4,20 +4,16 @@ metadata: name: configmap-rec-legal-customer-product-directory namespace: proyecto-prueba-ja uid: 41dbe09e-042e-40cc-8459-cc8eb299aeb2 - resourceVersion: '3477938413' + resourceVersion: '3480349520' creationTimestamp: '2026-01-06T04:17:18Z' - labels: - app: rec-legal-customer-product-directory - business_group: default annotations: - argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","data":{"api.allowed.request-validation.account-status":"^(A|O|ACTBSUSD)$","api.allowed.request-validation.cachea-indicator":"^(SI|NO)$","api.allowed.request-validation.customer-ibs-number":"\\d+","api.allowed.request-validation.limit-type":"^(PAG|REC)$","api.allowed.request-validation.product-cv-code":"^(CV|CVFL)$","api.read-messages.from-props":"true","api.recLogalCustomerProductDirectory.messages.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\"}]","api.recLogalCustomerProductDirectory.messages.key":"recLogalCustomerProductDirectory","api.rest-client.bus-legal-customer-product-directory":"{\"url\":\"http://bus-legal-customer-product-directory-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/bus-legal-customer-product-directory/retrieve/{customerIbsNumber}\",\"timeout\":{\"connect\":20000,\"response\":20000},\"config\":{}}","api.rest-client.register-security":"{\"url\":\"http://api-register-security-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/register-security/save\",\"timeout\":{\"connect\":20000,\"response\":20000},\"config\":{\"sp\":\"spAPI_Traza\",\"eventCod\":\"CANCTARJ\",\"bankCod\":\"01\",\"curCod\":\"BS\"}}","api.source-id":"LCPD","quarkus.application.name":"rec-legal-customer-product-directory","quarkus.application.version":"1.0.0","quarkus.debug.print-startup-times":"true","quarkus.debug.reflection":"false","quarkus.http.idle-timeout":"30s","quarkus.http.non-application-root-path":"actuator","quarkus.http.port":"8080","quarkus.log.console.enable":"true","quarkus.log.console.format":"%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n","quarkus.log.level":"INFO","quarkus.profile":"dev","quarkus.smallrye-health.liveness-path":"/actuator/health/live","quarkus.smallrye-health.readiness-path":"/actuator/health/ready","quarkus.smallrye-health.root-path":"/actuator/health","quarkus.smallrye-health.ui.enable":"false","quarkus.smallrye-openapi.enable":"true","quarkus.smallrye-openapi.path":"/openapi","quarkus.swagger-ui.always-include":"true","quarkus.swagger-ui.path":"/swagger-ui","quarkus.thread-pool.core-threads":"1","quarkus.thread-pool.max-threads":"100"},"kind":"ConfigMap","metadata":{"annotations":{"argocd.argoproj.io/sync-options":"SkipDryRunOnMissingResource=true"},"app":"rec-legal-customer-product-directory","labels":{"app":"rec-legal-customer-product-directory","business_group":"default"},"name":"configmap-rec-legal-customer-product-directory","namespace":"proyecto-prueba-ja"}} + {"apiVersion":"v1","data":{"api.allowed.request-validation.account-status":"^(A|O|ACTBSUSD)$","api.allowed.request-validation.cachea-indicator":"^(SI|NO)$","api.allowed.request-validation.customer-ibs-number":"\\d+","api.allowed.request-validation.limit-type":"^(PAG|REC)$","api.allowed.request-validation.product-cv-code":"^(CV|CVFL)$","api.read-messages.from-props":"true","api.recLogalCustomerProductDirectory.messages.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\"}]","api.recLogalCustomerProductDirectory.messages.key":"recLogalCustomerProductDirectory","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.register-security":"{\"url\":\"http://api-register-security-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/register-security/save\",\"timeout\":{\"connect\":20000,\"response\":20000},\"config\":{\"sp\":\"spAPI_Traza\",\"eventCod\":\"CANCTARJ\",\"bankCod\":\"01\",\"curCod\":\"BS\"}}","api.source-id":"LCPD","quarkus.application.name":"rec-legal-customer-product-directory","quarkus.application.version":"1.0.0","quarkus.debug.print-startup-times":"true","quarkus.debug.reflection":"false","quarkus.http.idle-timeout":"30s","quarkus.http.non-application-root-path":"actuator","quarkus.http.port":"8080","quarkus.log.console.enable":"true","quarkus.log.console.format":"%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n","quarkus.log.level":"INFO","quarkus.profile":"dev","quarkus.smallrye-health.liveness-path":"/actuator/health/live","quarkus.smallrye-health.readiness-path":"/actuator/health/ready","quarkus.smallrye-health.root-path":"/actuator/health","quarkus.smallrye-health.ui.enable":"false","quarkus.smallrye-openapi.enable":"true","quarkus.smallrye-openapi.path":"/openapi","quarkus.swagger-ui.always-include":"true","quarkus.swagger-ui.path":"/swagger-ui","quarkus.thread-pool.core-threads":"1","quarkus.thread-pool.max-threads":"100"},"kind":"ConfigMap","metadata":{"annotations":{},"app":"rec-legal-customer-product-directory","labels":null,"name":"configmap-rec-legal-customer-product-directory","namespace":"proyecto-prueba-ja"}} managedFields: - manager: kubectl-client-side-apply operation: Update apiVersion: v1 - time: '2026-01-12T23:52:10Z' + time: '2026-01-14T01:49:35Z' fieldsType: FieldsV1 fieldsV1: 'f:data': @@ -57,12 +53,7 @@ metadata: 'f:metadata': 'f:annotations': .: {} - 'f:argocd.argoproj.io/sync-options': {} 'f:kubectl.kubernetes.io/last-applied-configuration': {} - 'f:labels': - .: {} - 'f:app': {} - 'f:business_group': {} data: quarkus.application.version: 1.0.0 quarkus.log.level: INFO @@ -94,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/bus-legal-customer-product-directory/retrieve/{customerIbsNumber}","timeout":{"connect":20000,"response":20000},"config":{}}' - quarkus.smallrye-openapi.path: /openapi \ No newline at end of file + 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":{}}' + quarkus.smallrye-openapi.path: /openapi