update error messages into private api; update generals

This commit is contained in:
Ramon Ramirez 2026-01-30 14:49:06 -04:00
parent a89f830137
commit 2b2ae0f627
10 changed files with 37 additions and 13 deletions

View File

@ -5,7 +5,7 @@
<artifactId>dom-create-security-notification</artifactId>
<version>1.0-native-quarkus-jdk17</version>
<name>dom-create-security-notification</name>
<description>API Domain - Create payment single request</description>
<description>API Domain - Create payment alert</description>
<properties>
<maven.compiler.release>17</maven.compiler.release>

View File

@ -143,6 +143,20 @@ public class HttpRequest {
.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,

View File

@ -21,7 +21,7 @@ public class RestClientConfig {
private final ObjectMapper objectMapper;
private static final String API_BASE = "api.rest-client.";
private static final String API_PAYMENT_FILE_NAME = "security-notification";
private static final String API_SECURITY_NOTIFICATION_NAME = "security-notification";
@Inject
public RestClientConfig(
@ -33,7 +33,7 @@ public class RestClientConfig {
}
public SecurityNotificationConfig getSecurityNotificationConfig() {
return getConfig(API_PAYMENT_FILE_NAME, SecurityNotificationConfig.class);
return getConfig(API_SECURITY_NOTIFICATION_NAME, SecurityNotificationConfig.class);
}
private <T> T getConfig(

View File

@ -45,7 +45,7 @@ public class CorrespondenceService implements CorrespondenceUseCase {
);
} 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);

View File

@ -30,11 +30,12 @@ public class ApiPrivateAdapter implements ApiPrivateRepository {
CorrespondenceRequest request
) {
SecurityNotification response = securityNotificationUseCase.execute(
ServicingIssueMapper.toSecurityNotification(request), SecurityNotification.class
ServicingIssueMapper.toSecurityNotification(request),
SecurityNotification.class
);
if(Objects.isNull(response) || Objects.isNull(response.getId())) {
throw HttpStatusCodeException.badRequest("400");
throw HttpStatusCodeException.conflict("PIBE-00");
}
log.info("Resultado de la transaccion obtenida: {}", response.getId());

View File

@ -12,5 +12,5 @@ import lombok.*;
@RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Instruction {
private String instructionPurposeType; // Request JSON: "channelOrigin" (BOL)
private String instructionPurposeType; // Request JSON: "channelOrigin" (consolaPredictiva)
}

View File

@ -26,6 +26,8 @@ public class SecurityNotificationClient implements SecurityNotificationUseCase {
private final HttpClientUseCase httpClientUseCase;
private final SecurityNotificationConfig securityNotificationConfig;
private static final String EMPTY_MESSAGE = "EMPTY_MESSAGE";
@Inject
public SecurityNotificationClient(
SerializationHelper serializationHelper,
@ -72,12 +74,19 @@ public class SecurityNotificationClient implements SecurityNotificationUseCase {
);
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();
}
@ -92,10 +101,10 @@ public class SecurityNotificationClient implements SecurityNotificationUseCase {
);
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) {

View File

@ -13,6 +13,6 @@ api:
dom-create-security-notification:
messages:
key: 'dom-create-security-notification'
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:
security-notification: '{"url":"http://10.135.193.156:8080/AlertSecurity/notificationInteractive/v1/generate/createAlertPush","timeout":{"connect":10000,"response":10000},"valueDefault":{"currency":"VES","expirationTime":0},"statusSuccess":"00"}'

View File

@ -72,7 +72,7 @@ data:
api.read-messages.from-props: 'true'
quarkus.http.port: '8080'
quarkus.profile: dev
api.dom-create-security-notification.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"},{"backend_code":"204","http_code":"200","status_code":"200","description":"Cliente sin productos","status":"ok"}]'
api.dom-create-security-notification.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.log.console.format: '%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n'
quarkus.http.idle-timeout: 30s
quarkus.thread-pool.max-threads: '100'