udpate path and parameter
This commit is contained in:
parent
5a1c6fa2c5
commit
bfa8359c52
Binary file not shown.
@ -22,7 +22,7 @@ public class RequestValidatorHelper {
|
|||||||
public void validateRequired(
|
public void validateRequired(
|
||||||
LegalCustomerProductDirectoryRequest request
|
LegalCustomerProductDirectoryRequest request
|
||||||
) {
|
) {
|
||||||
required(request.getCustomerIbsNumber(), "customerIbsNumber");
|
required(request.getCustomerId(), "customerId");
|
||||||
required(request.getCustomerReferenceFintechId(), "customerReferenceFintechId");
|
required(request.getCustomerReferenceFintechId(), "customerReferenceFintechId");
|
||||||
required(request.getAppId(), "appId");
|
required(request.getAppId(), "appId");
|
||||||
}
|
}
|
||||||
@ -30,7 +30,7 @@ public class RequestValidatorHelper {
|
|||||||
public void validateFieldValues(
|
public void validateFieldValues(
|
||||||
LegalCustomerProductDirectoryRequest request
|
LegalCustomerProductDirectoryRequest request
|
||||||
) {
|
) {
|
||||||
validate(request.getCustomerIbsNumber(), config.customerIbsNumber(), "customerIbsNumber");
|
validate(request.getCustomerId(), config.customerId(), "customerId");
|
||||||
validate(request.getAccountStatus(), config.accountStatus(), "accountStatus");
|
validate(request.getAccountStatus(), config.accountStatus(), "accountStatus");
|
||||||
validate(request.getProductCvCode(), config.productCvCode(), "productCvCode");
|
validate(request.getProductCvCode(), config.productCvCode(), "productCvCode");
|
||||||
validate(request.getLimitType(), config.limitType(), "limitType");
|
validate(request.getLimitType(), config.limitType(), "limitType");
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import io.smallrye.config.ConfigMapping;
|
|||||||
|
|
||||||
@ConfigMapping(prefix = "api.allowed.request-validation")
|
@ConfigMapping(prefix = "api.allowed.request-validation")
|
||||||
public interface RequestValidationConfig {
|
public interface RequestValidationConfig {
|
||||||
String customerIbsNumber();
|
String customerId();
|
||||||
String accountStatus();
|
String accountStatus();
|
||||||
String productCvCode();
|
String productCvCode();
|
||||||
String limitType();
|
String limitType();
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc
|
|||||||
public ApiResponse<LegalCustomerProductDirectoryResponse> execute(
|
public ApiResponse<LegalCustomerProductDirectoryResponse> execute(
|
||||||
LegalCustomerProductDirectoryRequest request
|
LegalCustomerProductDirectoryRequest request
|
||||||
) {
|
) {
|
||||||
log.info("Iniciando ejecucion para el cliente: {}", request.getCustomerIbsNumber());
|
log.info("Iniciando ejecucion para el cliente: {}", request.getCustomerId());
|
||||||
|
|
||||||
validate(request);
|
validate(request);
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc
|
|||||||
private ApiResponse<LegalCustomerProductDirectoryResponse> business(
|
private ApiResponse<LegalCustomerProductDirectoryResponse> business(
|
||||||
LegalCustomerProductDirectoryRequest request
|
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);
|
return businessUseCase.execute(request, LegalCustomerProductDirectoryResponse.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -20,7 +20,7 @@ public class LegalCustomerProductDirectoryRequest {
|
|||||||
@NonNull
|
@NonNull
|
||||||
private String appId; // Header obligatorio
|
private String appId; // Header obligatorio
|
||||||
@NonNull
|
@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 bankNumber; // VACMBNK - Numero de Banco (filtro)
|
||||||
private String currencyCode; // VACMCCY - Moneda (filtro)
|
private String currencyCode; // VACMCCY - Moneda (filtro)
|
||||||
|
|||||||
@ -36,22 +36,14 @@ public class BusLegalCustomerProductDirectoryClient implements BusinessUseCase {
|
|||||||
LegalCustomerProductDirectoryRequest params,
|
LegalCustomerProductDirectoryRequest params,
|
||||||
Class<T> responseType
|
Class<T> responseType
|
||||||
) {
|
) {
|
||||||
String customerIbsNumber = params.getCustomerIbsNumber();
|
String customerId = params.getCustomerId();
|
||||||
Map<String, String> pathParams = Map.of("customerId", customerIbsNumber);
|
|
||||||
Map<String, String> 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(
|
HttpRequest request = HttpRequest.forApiResponse(
|
||||||
businessConfig.getUrl(),
|
businessConfig.getUrl(),
|
||||||
HttpRequest.HttpMethod.GET,
|
HttpRequest.HttpMethod.GET,
|
||||||
responseType
|
responseType
|
||||||
)
|
)
|
||||||
.withPathParams(pathParams)
|
.withPathParams(Map.of("customerId", customerId))
|
||||||
.withQueryParams(queryParams)
|
.withQueryParams(params.toQueryString())
|
||||||
.withTimeout(
|
.withTimeout(
|
||||||
businessConfig.getTimeout().getConnect(),
|
businessConfig.getTimeout().getConnect(),
|
||||||
businessConfig.getTimeout().getResponse()
|
businessConfig.getTimeout().getResponse()
|
||||||
@ -71,7 +63,7 @@ public class BusLegalCustomerProductDirectoryClient implements BusinessUseCase {
|
|||||||
} catch (HttpApiResponseException e) {
|
} catch (HttpApiResponseException e) {
|
||||||
log.error(
|
log.error(
|
||||||
"Error HTTP con ApiResponse consultando cliente {}: {}",
|
"Error HTTP con ApiResponse consultando cliente {}: {}",
|
||||||
customerIbsNumber,
|
customerId,
|
||||||
e.getApiResponse()
|
e.getApiResponse()
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -82,14 +74,14 @@ public class BusLegalCustomerProductDirectoryClient implements BusinessUseCase {
|
|||||||
} catch (HttpStatusCodeException e) {
|
} catch (HttpStatusCodeException e) {
|
||||||
log.error(
|
log.error(
|
||||||
"Error HTTP consultando cliente {}: {} - {}",
|
"Error HTTP consultando cliente {}: {} - {}",
|
||||||
customerIbsNumber,
|
customerId,
|
||||||
e.getStatusCode(),
|
e.getStatusCode(),
|
||||||
e.getMessage()
|
e.getMessage()
|
||||||
);
|
);
|
||||||
|
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error consultando cliente {}: {}", customerIbsNumber, e.getMessage());
|
log.error("Error consultando cliente {}: {}", customerId, e.getMessage());
|
||||||
throw HttpStatusCodeException.serviceUnavailable("503");
|
throw HttpStatusCodeException.serviceUnavailable("503");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -219,7 +219,7 @@ public class LegalCustomerProductDirectoryResource {
|
|||||||
"data": null,
|
"data": null,
|
||||||
"statusResponse": {
|
"statusResponse": {
|
||||||
"statusCode": "VDE01",
|
"statusCode": "VDE01",
|
||||||
"message": "El campo customerIbsNumber es obligatorio"
|
"message": "El campo customerId es obligatorio"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
@ -338,7 +338,7 @@ public class LegalCustomerProductDirectoryResource {
|
|||||||
try {
|
try {
|
||||||
return Response.ok(useCase.execute(
|
return Response.ok(useCase.execute(
|
||||||
LegalCustomerProductDirectoryRequest.builder()
|
LegalCustomerProductDirectoryRequest.builder()
|
||||||
.customerIbsNumber(Objects.toString(customerId, ""))
|
.customerId(Objects.toString(customerId, ""))
|
||||||
.customerReferenceFintechId(customerReferenceFintechId)
|
.customerReferenceFintechId(customerReferenceFintechId)
|
||||||
.appId(appId)
|
.appId(appId)
|
||||||
.build()
|
.build()
|
||||||
|
|||||||
@ -10,7 +10,7 @@ api:
|
|||||||
source-id: RLCPD
|
source-id: RLCPD
|
||||||
allowed:
|
allowed:
|
||||||
request-validation:
|
request-validation:
|
||||||
customer-ibs-number: '\d+'
|
customer-id: '\d+'
|
||||||
account-status: '^(A|D|ACTBSUSD)$'
|
account-status: '^(A|D|ACTBSUSD)$'
|
||||||
product-cv-code: '^(CV|CVFL)$'
|
product-cv-code: '^(CV|CVFL)$'
|
||||||
limit-type: '^(PAG|REC)$'
|
limit-type: '^(PAG|REC)$'
|
||||||
@ -23,4 +23,4 @@ api:
|
|||||||
key: 'rec-legal-customer-product-directory'
|
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"}]'
|
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:
|
rest-client:
|
||||||
bus-legal-customer-product-directory: '{"url":"http://localhost:8082/customer/accounts/retrieve/{customerId}","timeout":{"connect":15000,"response":15000},"config":{}}'
|
bus-legal-customer-product-directory: '{"url":"http://localhost:8082/legal-customer-product-directory/retrieve/{customerId}","timeout":{"connect":15000,"response":15000},"config":{}}'
|
||||||
@ -85,5 +85,5 @@ data:
|
|||||||
quarkus.smallrye-health.readiness-path: /actuator/health/ready
|
quarkus.smallrye-health.readiness-path: /actuator/health/ready
|
||||||
api.allowed.request-validation.cachea-indicator: ^(SI|NO)$
|
api.allowed.request-validation.cachea-indicator: ^(SI|NO)$
|
||||||
quarkus.log.console.enable: 'true'
|
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
|
quarkus.smallrye-openapi.path: /openapi
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user