update error messages into private api; update generals
This commit is contained in:
parent
24171f0b2d
commit
59913c04ee
Binary file not shown.
@ -58,103 +58,117 @@ public class HttpRequest {
|
||||
private boolean logResponseBody = true;
|
||||
|
||||
public static <T> HttpRequest forApiResponse(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> dataType
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> 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 <T> HttpRequest forApiResponseList(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> elementType
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> 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 <T> HttpRequest forApiPrivateResponse(
|
||||
String url,
|
||||
String statusSuccess,
|
||||
HttpMethod method,
|
||||
Class<T> successType
|
||||
String url,
|
||||
String statusSuccess,
|
||||
HttpMethod method,
|
||||
Class<T> 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 <T> HttpRequest forApiPrivateResponseList(
|
||||
String url,
|
||||
String statusSuccess,
|
||||
HttpMethod method,
|
||||
Class<T> elementType
|
||||
String url,
|
||||
String statusSuccess,
|
||||
HttpMethod method,
|
||||
Class<T> 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 <T> HttpRequest forDirectResponse(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> responseType
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> responseType
|
||||
) {
|
||||
return HttpRequest.builder()
|
||||
.url(url)
|
||||
.method(method)
|
||||
.responseType(responseType)
|
||||
.build();
|
||||
.url(url)
|
||||
.method(method)
|
||||
.responseType(responseType)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static <T, R> HttpRequest forDirectResponse(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> responseType,
|
||||
Class<R> errorType
|
||||
) {
|
||||
return HttpRequest.builder()
|
||||
.url(url)
|
||||
.method(method)
|
||||
.responseType(responseType)
|
||||
.errorType(errorType)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static <T, U> HttpRequest forGenericResponse(
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> rawType,
|
||||
Class<U> genericType
|
||||
String url,
|
||||
HttpMethod method,
|
||||
Class<T> rawType,
|
||||
Class<U> 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<String, String> headers) {
|
||||
|
||||
@ -6,6 +6,8 @@ import io.quarkus.runtime.annotations.RegisterForReflection;
|
||||
import lombok.Getter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Getter
|
||||
@ToString
|
||||
@RegisterForReflection
|
||||
@ -13,4 +15,5 @@ public class SecurityTraceConfig {
|
||||
private String url;
|
||||
private TimeoutConfig timeout;
|
||||
private SecurityTraceRequest request;
|
||||
private Map<String, String> converters;
|
||||
}
|
||||
@ -10,6 +10,7 @@ import com.banesco.module.security_trace.domain.dto.request.SecurityTraceRequest
|
||||
import com.banesco.module.security_trace.domain.model.SecurityTraceConfig;
|
||||
import com.banesco.module.security_trace.domain.model.SecurityTraceObject;
|
||||
import com.banesco.module.service_issue_payment_status.domain.dto.request.ServiceIssuePaymentStatusRequest;
|
||||
import com.banesco.module.service_issue_payment_status.domain.dto.response.ServiceIssuePaymentStatusResponse;
|
||||
import io.netty.util.internal.StringUtil;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
@ -17,6 +18,7 @@ import jakarta.ws.rs.core.Response;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
@Slf4j
|
||||
@ApplicationScoped
|
||||
@ -90,12 +92,13 @@ public class SecurityTraceClient implements SecurityTraceUseCase {
|
||||
) {
|
||||
long executedTime = (endTime - startTime);
|
||||
int statusHttp = apiResponse.getStatus();
|
||||
ApiResponse<?> apiResponseData = (ApiResponse<?>) apiResponse.getEntity();
|
||||
ApiResponse<ServiceIssuePaymentStatusResponse> apiResponseData =
|
||||
(ApiResponse<ServiceIssuePaymentStatusResponse>) apiResponse.getEntity();
|
||||
|
||||
return SecurityTraceRequest.builder()
|
||||
.sp(securityTraceConfig.getRequest().getSp())
|
||||
.codBan(securityTraceConfig.getRequest().getCodBan())
|
||||
.codMon(securityTraceConfig.getRequest().getCodMon())
|
||||
.codMon(getCodMon(apiResponseData))
|
||||
.codEve(securityTraceConfig.getRequest().getCodEve())
|
||||
.codEve2(securityTraceConfig.getRequest().getCodEve2())
|
||||
.login(apiRequest.getChannelCode())
|
||||
@ -119,6 +122,43 @@ public class SecurityTraceClient implements SecurityTraceUseCase {
|
||||
.build();
|
||||
}
|
||||
|
||||
private String getCodMon(
|
||||
ApiResponse<ServiceIssuePaymentStatusResponse> apiResponseData
|
||||
) {
|
||||
String defaultCurrency = securityTraceConfig.getRequest().getCodMon();
|
||||
|
||||
if(
|
||||
Objects.isNull(apiResponseData) ||
|
||||
Objects.isNull(apiResponseData.getData()) ||
|
||||
Objects.isNull(apiResponseData.getData().getServicingIssueProcedure()) ||
|
||||
Objects.isNull(apiResponseData.getData().getServicingIssueProcedure().getTransaction()) ||
|
||||
Objects.isNull(apiResponseData.getData().getServicingIssueProcedure().getTransaction().getFinancialTransaction())
|
||||
) {
|
||||
log.info("Moneda asignada por defecto: {}", defaultCurrency);
|
||||
return defaultCurrency;
|
||||
}
|
||||
|
||||
String currency = apiResponseData.getData()
|
||||
.getServicingIssueProcedure()
|
||||
.getTransaction()
|
||||
.getFinancialTransaction()
|
||||
.getCurrencyCode();
|
||||
|
||||
if (StringUtil.isNullOrEmpty(currency)) {
|
||||
log.info("Moneda de la peticion/respuesta vacia, asignada por defecto: {}", defaultCurrency);
|
||||
return defaultCurrency;
|
||||
}
|
||||
|
||||
defaultCurrency = securityTraceConfig.getConverters().getOrDefault(
|
||||
currency.toUpperCase(),
|
||||
currency.toUpperCase()
|
||||
);
|
||||
|
||||
log.info("Moneda convertida o por defecto: {} -> {}", currency, defaultCurrency);
|
||||
|
||||
return defaultCurrency;
|
||||
}
|
||||
|
||||
private String getStatusMessage(
|
||||
ApiResponse<?> apiResponseData,
|
||||
int statusHttp
|
||||
|
||||
@ -311,7 +311,7 @@ public class ServiceIssuePaymentStatusResource {
|
||||
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")
|
||||
|
||||
@ -13,8 +13,8 @@ api:
|
||||
bus-service-issue-payment-status:
|
||||
messages:
|
||||
key: 'bus-service-issue-payment-status'
|
||||
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":"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":"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"},{"backendCode":"PIB-00","httpCode":409,"statusCode":"PIB-00","description":"Error Interno backend"},{"backendCode":"PIB-01","httpCode":409,"statusCode":"PIB-01","description":"Error Interno backend"}]'
|
||||
rest-client:
|
||||
dom-service-issue-payment-status: '{"url":"http://localhost:8083/service-issue-payment-status/retrieve/{paymentStatusId}/{channelCode}","timeout":{"connect":10000,"response":10000}}'
|
||||
security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":10000,"response":10000},"request":{"sp":"spAPI_Traza","codEve":"CONSSOLID","codEve2":"CONSSOLID","codBan":"01","codMon":"BS"}}'
|
||||
security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":10000,"response":10000},"request":{"sp":"spAPI_Traza","codEve":"CONSSOLID","codEve2":"CONSSOLID","codBan":"01","codMon":"BS"},"converters":{"VES":"BS"}}'
|
||||
service-status: '{"url":"http://api-get-service-status-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/service/status","timeout":{"connect":10000,"response":10000},"request":{"applicationId": "","transactionId": "","bankService": {"bankCode": "01","serviceCode": "APIFI","eventCode": "P2PVUEL"}}}'
|
||||
@ -79,5 +79,5 @@ data:
|
||||
quarkus.smallrye-openapi.enable: 'true'
|
||||
quarkus.smallrye-health.readiness-path: /actuator/health/ready
|
||||
quarkus.log.console.enable: 'true'
|
||||
api.bus-service-issue-payment-status.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":"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"}]'
|
||||
api.bus-service-issue-payment-status.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":"VRN04","httpCode":503,"statusCode":"VRN04","description":"Servicio en horario de mantenimiento"},{"backendCode":"PIB-00","httpCode":409,"statusCode":"PIB-00","description":"Error Interno backend"},{"backendCode":"PIB-01","httpCode":409,"statusCode":"PIB-01","description":"Error Interno backend"}]'
|
||||
quarkus.smallrye-openapi.path: /openapi
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user