diff --git a/pom.xml b/pom.xml
index c1054fc..4daca5e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,6 +12,7 @@
3.14.1
3.5.4
3.5.4
+ 1.18.2
UTF-8
UTF-8
quarkus-bom
@@ -29,6 +30,13 @@
pom
import
+
+ ${quarkus.platform.group-id}
+ quarkus-camel-bom
+ ${quarkus.platform.version}
+ pom
+ import
+
@@ -76,6 +84,21 @@
+
+ org.eclipse.jkube
+ openshift-maven-plugin
+ ${compiler-plugin-openshift.version}
+
+
+
+
+ maven-volumen
+ /root/.m2
+
+
+
+
+
${quarkus.platform.group-id}
quarkus-maven-plugin
@@ -86,6 +109,7 @@
build
generate-code
+ generate-code-tests
native-image-agent
@@ -97,13 +121,6 @@
${compiler-plugin.version}
true
-
-
- org.projectlombok
- lombok
- ${lombok.version}
-
-
@@ -149,9 +166,21 @@
- false
+ false
+ native
true
+
+
+
+ src/main/resources
+
+ application-dev.yaml
+ application-local.yaml
+
+
+
+
\ No newline at end of file
diff --git a/scripts/native/Dockerfile b/scripts/native/Dockerfile
index 72f24d8..217f6a8 100644
--- a/scripts/native/Dockerfile
+++ b/scripts/native/Dockerfile
@@ -10,11 +10,11 @@
#
# Then, build the image with:
#
-# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/rec-update-card-status .
+# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/rec-legal-customer-product-directory .
#
# Then run the container using:
#
-# docker run -i --rm -p 8080:8080 quarkus/rec-update-card-transaction-switch
+# docker run -i --rm -p 8080:8080 quarkus/rec-legal-customer-product-directory
#
###
FROM quay.io/quarkus/quarkus-micro-image:2.0
diff --git a/src/main/java/com/banesco/common/application/helper/ErrorResponseHelper.java b/src/main/java/com/banesco/common/application/helper/ErrorResponseHelper.java
index 4f2880a..c868a70 100644
--- a/src/main/java/com/banesco/common/application/helper/ErrorResponseHelper.java
+++ b/src/main/java/com/banesco/common/application/helper/ErrorResponseHelper.java
@@ -83,25 +83,6 @@ public class ErrorResponseHelper {
.build();
}
- public StatusResponse handleGenericException(BaseApiException exception) {
- ErrorMapping mapping = errorMappings.getOrDefault(
- exception.getErrorCode(),
- errorMappings.getOrDefault(ERROR_DEFAULT, createDefaultMapping())
- );
- StatusResponse status = createErrorResponse(
- mapping, null
- );
-
- log.error(
- "[{}] Error {} -> {}",
- exception.getExceptionType(),
- exception.getErrorCode(),
- status.getMessage()
- );
-
- return status;
- }
-
public ApiResponse buildServiceUnavailableResponse() {
return new ApiResponse<>(null, createSuccessResponse("503"));
}
@@ -123,7 +104,7 @@ public class ErrorResponseHelper {
log.error(
- "[{}] Error {} -> {}",
+ "[{}] Message {} -> {}",
exception.getExceptionType(),
exception.getErrorCode(),
status.getMessage()
diff --git a/src/main/java/com/banesco/common/domain/exception/SuccessException.java b/src/main/java/com/banesco/common/domain/exception/SuccessException.java
new file mode 100644
index 0000000..141c661
--- /dev/null
+++ b/src/main/java/com/banesco/common/domain/exception/SuccessException.java
@@ -0,0 +1,11 @@
+package com.banesco.common.domain.exception;
+
+public class SuccessException extends BaseApiException {
+ public SuccessException(String code, String message, String fieldPath) {
+ super(code, message, fieldPath, "ok");
+ }
+
+ public SuccessException(String code, String fieldPath) {
+ super(code, fieldPath, "ok");
+ }
+}
diff --git a/src/main/java/com/banesco/common/domain/model/CurrencyType.java b/src/main/java/com/banesco/common/domain/model/CurrencyType.java
new file mode 100644
index 0000000..29c2d34
--- /dev/null
+++ b/src/main/java/com/banesco/common/domain/model/CurrencyType.java
@@ -0,0 +1,9 @@
+package com.banesco.common.domain.model;
+
+public enum CurrencyType {
+ BASE,
+ REPORTING,
+ SECONDARY,
+ TRANSFER
+}
+
diff --git a/src/main/java/com/banesco/common/domain/model/CurrencyType.kt b/src/main/java/com/banesco/common/domain/model/CurrencyType.kt
deleted file mode 100644
index af7074e..0000000
--- a/src/main/java/com/banesco/common/domain/model/CurrencyType.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.banesco.common.domain.model
-
-enum class CurrencyType {
- BASE,
- REPORTING,
- SECONDARY,
- TRANSFER
-}
\ No newline at end of file
diff --git a/src/main/java/com/banesco/common/domain/model/Identifier.java b/src/main/java/com/banesco/common/domain/model/Identifier.java
index 17dc121..d320348 100644
--- a/src/main/java/com/banesco/common/domain/model/Identifier.java
+++ b/src/main/java/com/banesco/common/domain/model/Identifier.java
@@ -1,12 +1,14 @@
package com.banesco.common.domain.model;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class Identifier {
private String identifierValue;
private String issuingAuthority;
diff --git a/src/main/java/com/banesco/common/domain/model/Name.java b/src/main/java/com/banesco/common/domain/model/Name.java
index 48963be..37eea67 100644
--- a/src/main/java/com/banesco/common/domain/model/Name.java
+++ b/src/main/java/com/banesco/common/domain/model/Name.java
@@ -1,12 +1,14 @@
package com.banesco.common.domain.model;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class Name {
private String fullName;
}
diff --git a/src/main/java/com/banesco/module/account/domain/model/Account.java b/src/main/java/com/banesco/module/account/domain/model/Account.java
index 23db675..5727ebd 100644
--- a/src/main/java/com/banesco/module/account/domain/model/Account.java
+++ b/src/main/java/com/banesco/module/account/domain/model/Account.java
@@ -1,14 +1,16 @@
package com.banesco.module.account.domain.model;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
import java.util.List;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class Account {
private AccountStatus accountStatus;
private List accountIdentification;
diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountBalance.java b/src/main/java/com/banesco/module/account/domain/model/AccountBalance.java
index 4d3167f..8a64894 100644
--- a/src/main/java/com/banesco/module/account/domain/model/AccountBalance.java
+++ b/src/main/java/com/banesco/module/account/domain/model/AccountBalance.java
@@ -1,14 +1,16 @@
package com.banesco.module.account.domain.model;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
import java.math.BigDecimal;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class AccountBalance {
private BigDecimal balanceAmount;
private String balanceType;
diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountCurrency.java b/src/main/java/com/banesco/module/account/domain/model/AccountCurrency.java
index cd398d9..40e8b5d 100644
--- a/src/main/java/com/banesco/module/account/domain/model/AccountCurrency.java
+++ b/src/main/java/com/banesco/module/account/domain/model/AccountCurrency.java
@@ -1,13 +1,15 @@
package com.banesco.module.account.domain.model;
import com.banesco.common.domain.model.CurrencyType;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class AccountCurrency {
private String currencyCode;
private CurrencyType currencyType;
diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java b/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java
index b3e121e..422c13a 100644
--- a/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java
+++ b/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java
@@ -1,12 +1,14 @@
package com.banesco.module.account.domain.model;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class AccountDateTime {
private String dateType;
private String date;
diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountIdentification.java b/src/main/java/com/banesco/module/account/domain/model/AccountIdentification.java
index 40cd70b..93da671 100644
--- a/src/main/java/com/banesco/module/account/domain/model/AccountIdentification.java
+++ b/src/main/java/com/banesco/module/account/domain/model/AccountIdentification.java
@@ -1,13 +1,15 @@
package com.banesco.module.account.domain.model;
import com.banesco.common.domain.model.Identifier;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class AccountIdentification {
private String accountIdentificationType;
private Identifier accountIdentification;
diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountInvolvement.java b/src/main/java/com/banesco/module/account/domain/model/AccountInvolvement.java
index f819d6d..e9d6930 100644
--- a/src/main/java/com/banesco/module/account/domain/model/AccountInvolvement.java
+++ b/src/main/java/com/banesco/module/account/domain/model/AccountInvolvement.java
@@ -1,13 +1,15 @@
package com.banesco.module.account.domain.model;
import com.banesco.module.party.domain.model.Party;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class AccountInvolvement {
private String accountInvolvementType;
private Party partyReference;
diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountStatus.java b/src/main/java/com/banesco/module/account/domain/model/AccountStatus.java
index 69d1423..bbe6584 100644
--- a/src/main/java/com/banesco/module/account/domain/model/AccountStatus.java
+++ b/src/main/java/com/banesco/module/account/domain/model/AccountStatus.java
@@ -1,12 +1,14 @@
package com.banesco.module.account.domain.model;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class AccountStatus {
private String status;
private String statusType;
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 15720b9..9c9b457 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
@@ -4,15 +4,25 @@ import com.banesco.common.application.helper.ErrorResponseHelper;
import com.banesco.common.application.helper.RequestValidatorHelper;
import com.banesco.common.domain.exception.BaseApiException;
import com.banesco.common.domain.exception.ServiceUnavailableException;
-import com.banesco.common.domain.model.ApiResponse;
+import com.banesco.common.domain.model.*;
+import com.banesco.module.account.domain.model.*;
import com.banesco.module.legal_customer_product_directory.application.usecase.BusinessUseCase;
import com.banesco.module.legal_customer_product_directory.application.usecase.LegalCustomerProductDirectoryUseCase;
import com.banesco.module.legal_customer_product_directory.domain.dto.request.LegalCustomerProductDirectoryRequest;
import com.banesco.module.legal_customer_product_directory.domain.dto.response.LegalCustomerProductDirectoryResponse;
+import com.banesco.module.legal_customer_product_directory.domain.model.CustomerProductAndServiceDirectory;
+import com.banesco.module.party.domain.model.Party;
+import com.banesco.module.party.domain.model.PartyIdentification;
+import com.banesco.module.party.domain.model.PartyIdentificationType;
+import com.banesco.module.party.domain.model.PartyType;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Objects;
+
@Slf4j
@ApplicationScoped
public class LegalCustomerProductDirectoryService implements LegalCustomerProductDirectoryUseCase {
@@ -41,29 +51,159 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc
try {
return business(request);
} catch (BaseApiException e) {
+ if(Objects.equals(e.getErrorCode(), "200")) {
+ return createSuccessMock();
+ }
+
throw e;
} catch (Exception e) {
throw new ServiceUnavailableException("503", e.getMessage(), null);
}
}
- private ApiResponse business(
- LegalCustomerProductDirectoryRequest request
- ) {
- log.info("Calling business service for client: {}", request.getCustomerIbsNumber());
-
- return businessUseCase.execute(
- request.getCustomerIbsNumber(),
- request.toBusinessRequest(),
- request.toBusinessHeaders(),
- LegalCustomerProductDirectoryResponse.class
- );
- }
-
private void validate(
LegalCustomerProductDirectoryRequest request
) {
requestValidatorHelper.validateRequired(request);
requestValidatorHelper.validateFieldValues(request);
}
+
+ private ApiResponse business(
+ LegalCustomerProductDirectoryRequest request
+ ) {
+ log.info("Calling business service for client: {}", request.getCustomerIbsNumber());
+
+ return businessUseCase.execute(
+ true,
+ request.getCustomerIbsNumber(),
+ request.toBusinessRequest(),
+ request.toBusinessHeaders(),
+ LegalCustomerProductDirectoryResponse.class
+ );
+ }
+
+ private ApiResponse createSuccessMock() {
+ StatusResponse statusResponse = StatusResponse.builder()
+ .statusCode("200")
+ .message("Operación exitosa")
+ .build();
+
+ return new ApiResponse<>(
+ LegalCustomerProductDirectoryResponse.builder()
+ .customerProductAndServiceDirectory(CustomerProductAndServiceDirectory.builder()
+ .party(Party.builder()
+ .partyName(List.of(
+ Name.builder()
+ .fullName("TASCA RESTAURANT GOOD WORLD CEN, C.A.")
+ .build()
+ ))
+ .partyType(PartyType.ORGANISATION)
+ .partyDateTime(List.of())
+ .partyIdentification(List.of(
+ PartyIdentification.builder()
+ .partyIdentificationType(PartyIdentificationType.TAX_IDENTIFICATION_NUMBER)
+ .partyIdentification(Identifier.builder()
+ .identifierValue("J000000001")
+ .issuingAuthority("")
+ .build())
+ .build()
+ ))
+ .partyLegalStructureType("")
+ .build())
+ .accounts(List.of(
+ Account.builder()
+ .accountStatus(AccountStatus.builder()
+ .status("D")
+ .build())
+ .accountIdentification(List.of(
+ AccountIdentification.builder()
+ .accountIdentificationType("NUMERO_CUENTA")
+ .accountIdentification(Identifier.builder()
+ .identifierValue("01340025330253093528")
+ .issuingAuthority("")
+ .build())
+ .build(),
+ AccountIdentification.builder()
+ .accountIdentificationType("NUMERO_BANCO")
+ .accountIdentification(Identifier.builder()
+ .identifierValue("01")
+ .issuingAuthority("")
+ .build())
+ .build(),
+ AccountIdentification.builder()
+ .accountIdentificationType("CODIGO_PRODUCTO")
+ .accountIdentification(Identifier.builder()
+ .identifierValue("3980")
+ .issuingAuthority("")
+ .build())
+ .build(),
+ AccountIdentification.builder()
+ .accountIdentificationType("CLASE_CUENTA")
+ .accountIdentification(Identifier.builder()
+ .identifierValue("80")
+ .issuingAuthority("")
+ .build())
+ .build(),
+ AccountIdentification.builder()
+ .accountIdentificationType("TIPO_CUENTA")
+ .accountIdentification(Identifier.builder()
+ .identifierValue("MMK")
+ .issuingAuthority("")
+ .build())
+ .build()
+ ))
+ .accountDate(List.of())
+ .accountBalance(List.of(
+ AccountBalance.builder()
+ .balanceAmount(BigDecimal.valueOf(390417.36))
+ .balanceType("SALDO_DISPONIBLE")
+ .build(),
+ AccountBalance.builder()
+ .balanceAmount(BigDecimal.valueOf(100000.00))
+ .balanceType("MAXIMO_DIARIO")
+ .build(),
+ AccountBalance.builder()
+ .balanceAmount(BigDecimal.valueOf(100000.00))
+ .balanceType("MAXIMO_TRANSACCION")
+ .build(),
+ AccountBalance.builder()
+ .balanceAmount(BigDecimal.valueOf(3000000.00))
+ .balanceType("MAXIMO_MENSUAL")
+ .build(),
+ AccountBalance.builder()
+ .balanceAmount(BigDecimal.valueOf(0.01))
+ .balanceType("MINIMO_TRANSACCION")
+ .build()
+ ))
+ .accountCurrency(List.of(
+ AccountCurrency.builder()
+ .currencyCode("BS")
+ .currencyType(CurrencyType.BASE)
+ .build()
+ ))
+ .accountDescription("TASCA RESTAURANT GOOD WORLD CEN, C.A.")
+ .accountName("")
+ .accountInvolvement(List.of(
+ AccountInvolvement.builder()
+ .accountInvolvementType("CONTACTO_TELEFONICO")
+ .partyReference(Party.builder()
+ .partyIdentification(List.of(
+ PartyIdentification.builder()
+ .partyIdentificationType(PartyIdentificationType.TELEPHONE_NUMBER)
+ .partyIdentification(Identifier.builder()
+ .identifierValue("04122710660")
+ .issuingAuthority("")
+ .build())
+ .build()
+ ))
+ .build())
+ .build()
+ ))
+ .build()
+ ))
+ .build())
+ .build(),
+ statusResponse
+ );
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/application/usecase/BusinessUseCase.java b/src/main/java/com/banesco/module/legal_customer_product_directory/application/usecase/BusinessUseCase.java
index 8e9fd65..519eb43 100644
--- a/src/main/java/com/banesco/module/legal_customer_product_directory/application/usecase/BusinessUseCase.java
+++ b/src/main/java/com/banesco/module/legal_customer_product_directory/application/usecase/BusinessUseCase.java
@@ -6,6 +6,7 @@ import java.util.Map;
public interface BusinessUseCase {
ApiResponse execute(
+ boolean isMock,
String customerIbsNumber,
Map queryParams,
Map headers,
diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/response/LegalCustomerProductDirectoryResponse.java b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/response/LegalCustomerProductDirectoryResponse.java
index 0642d56..ffe18cc 100644
--- a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/response/LegalCustomerProductDirectoryResponse.java
+++ b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/response/LegalCustomerProductDirectoryResponse.java
@@ -1,16 +1,15 @@
package com.banesco.module.legal_customer_product_directory.domain.dto.response;
-import com.banesco.common.domain.model.StatusResponse;
import com.banesco.module.legal_customer_product_directory.domain.model.CustomerProductAndServiceDirectory;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class LegalCustomerProductDirectoryResponse {
private CustomerProductAndServiceDirectory customerProductAndServiceDirectory;
- private StatusResponse statusResponse;
}
diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/model/CustomerProductAndServiceDirectory.java b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/model/CustomerProductAndServiceDirectory.java
index 104e923..937446a 100644
--- a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/model/CustomerProductAndServiceDirectory.java
+++ b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/model/CustomerProductAndServiceDirectory.java
@@ -2,15 +2,17 @@ package com.banesco.module.legal_customer_product_directory.domain.model;
import com.banesco.module.account.domain.model.Account;
import com.banesco.module.party.domain.model.Party;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
import java.util.List;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class CustomerProductAndServiceDirectory {
private Party party;
private List accounts;
diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerDirectoryClient.java b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerDirectoryClient.java
index ff8d015..0c39592 100644
--- a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerDirectoryClient.java
+++ b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerDirectoryClient.java
@@ -1,10 +1,12 @@
package com.banesco.module.legal_customer_product_directory.infrastructure.client;
-import com.banesco.common.application.helper.ErrorResponseHelper;
import com.banesco.common.application.usecase.HttpClientUseCase;
+import com.banesco.common.domain.exception.ServiceUnavailableException;
+import com.banesco.common.domain.exception.SuccessException;
import com.banesco.common.domain.model.ApiResponse;
import com.banesco.common.domain.model.HttpRequest;
import com.banesco.common.infrastructure.config.RestClientConfig;
+import com.banesco.common.infrastructure.context.RequestContext;
import com.banesco.module.legal_customer_product_directory.application.usecase.BusinessUseCase;
import lombok.extern.slf4j.Slf4j;
import jakarta.enterprise.context.ApplicationScoped;
@@ -16,29 +18,32 @@ import java.util.Map;
@ApplicationScoped
public class BusLegalCustomerDirectoryClient implements BusinessUseCase {
private final HttpClientUseCase httpClientUseCase;
- private final ErrorResponseHelper errorResponseHelper;
private final RestClientConfig.BusConfig busConfig;
@Inject
public BusLegalCustomerDirectoryClient(
HttpClientUseCase httpClientUseCase,
- ErrorResponseHelper errorResponseHelper,
RestClientConfig restClientConfig
) {
this.httpClientUseCase = httpClientUseCase;
- this.errorResponseHelper = errorResponseHelper;
this.busConfig = restClientConfig.getBusLegalCustomerConfig();
log.info("Configuración cargada para bus-legal-customer-directory: {}", busConfig);
}
@Override
public ApiResponse execute(
+ boolean isMock,
String customerIbsNumber,
Map queryParams,
Map headers,
Class responseType
) {
- log.info("Consultando información del cliente: {}", customerIbsNumber);
+ String requestId = RequestContext.getRequestId();
+ log.info("{} Consultando información del cliente: {}", requestId, customerIbsNumber);
+
+ if(isMock) {
+ throw new SuccessException("200", null);
+ }
try {
HttpRequest request = HttpRequest.builder()
@@ -57,7 +62,7 @@ public class BusLegalCustomerDirectoryClient implements BusinessUseCase {
return httpClientUseCase.execute(request);
} catch (Exception e) {
log.error("Error consultando cliente {}: {}", customerIbsNumber, e.getMessage());
- return errorResponseHelper.buildServiceUnavailableResponse();
+ throw new ServiceUnavailableException("503", e.getMessage(), null);
}
}
}
\ No newline at end of file
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 1e6a372..7269a99 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
@@ -165,7 +165,7 @@ public class LegalCustomerProductDirectoryResource {
}
},
"statusResponse": {
- "statusCode": "000",
+ "statusCode": "200",
"message": "Operación exitosa"
}
}
diff --git a/src/main/java/com/banesco/module/party/domain/model/Party.java b/src/main/java/com/banesco/module/party/domain/model/Party.java
index 9a0c190..40e005e 100644
--- a/src/main/java/com/banesco/module/party/domain/model/Party.java
+++ b/src/main/java/com/banesco/module/party/domain/model/Party.java
@@ -1,15 +1,17 @@
package com.banesco.module.party.domain.model;
import com.banesco.common.domain.model.Name;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
import java.util.List;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class Party {
private List partyName;
private PartyType partyType;
diff --git a/src/main/java/com/banesco/module/party/domain/model/PartyDateTime.java b/src/main/java/com/banesco/module/party/domain/model/PartyDateTime.java
index 07c3463..c04d4ba 100644
--- a/src/main/java/com/banesco/module/party/domain/model/PartyDateTime.java
+++ b/src/main/java/com/banesco/module/party/domain/model/PartyDateTime.java
@@ -1,12 +1,14 @@
package com.banesco.module.party.domain.model;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class PartyDateTime {
private String dateTimeType;
private String dateTime;
diff --git a/src/main/java/com/banesco/module/party/domain/model/PartyIdentification.java b/src/main/java/com/banesco/module/party/domain/model/PartyIdentification.java
index 41e9ca3..d57f164 100644
--- a/src/main/java/com/banesco/module/party/domain/model/PartyIdentification.java
+++ b/src/main/java/com/banesco/module/party/domain/model/PartyIdentification.java
@@ -1,13 +1,15 @@
package com.banesco.module.party.domain.model;
import com.banesco.common.domain.model.Identifier;
+import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
-@Setter
@ToString
+@Builder
@NoArgsConstructor
@AllArgsConstructor
+@RegisterForReflection
public class PartyIdentification {
private PartyIdentificationType partyIdentificationType;
private Identifier partyIdentification;
diff --git a/src/main/java/com/banesco/module/security/infrastructure/client/RegisterSecurityClient.java b/src/main/java/com/banesco/module/security/infrastructure/client/RegisterSecurityClient.java
index 1792dfc..2aff069 100644
--- a/src/main/java/com/banesco/module/security/infrastructure/client/RegisterSecurityClient.java
+++ b/src/main/java/com/banesco/module/security/infrastructure/client/RegisterSecurityClient.java
@@ -1,7 +1,7 @@
package com.banesco.module.security.infrastructure.client;
-import com.banesco.common.application.helper.ErrorResponseHelper;
import com.banesco.common.application.usecase.HttpClientUseCase;
+import com.banesco.common.domain.exception.ServiceUnavailableException;
import com.banesco.common.domain.model.ApiResponse;
import com.banesco.common.domain.model.HttpRequest;
import com.banesco.common.infrastructure.config.RestClientConfig;
@@ -18,17 +18,14 @@ import java.util.Map;
@ApplicationScoped
public class RegisterSecurityClient implements SecurityUseCase {
private final HttpClientUseCase httpClientUseCase;
- private final ErrorResponseHelper errorResponseHelper;
private final RestClientConfig.RegisterSecurityConfig securityConfig;
@Inject
public RegisterSecurityClient(
HttpClientUseCase httpClientUseCase,
- ErrorResponseHelper errorResponseHelper,
RestClientConfig restClientConfig
) {
this.httpClientUseCase = httpClientUseCase;
- this.errorResponseHelper = errorResponseHelper;
this.securityConfig = restClientConfig.getRegisterSecurityConfig();
log.info("Configuración cargada para register-security: {}", securityConfig);
}
@@ -49,7 +46,7 @@ public class RegisterSecurityClient implements SecurityUseCase {
} catch (Exception e) {
log.error("Error registrando traza de seguridad: {}", e.getMessage(), e);
- return errorResponseHelper.buildServiceUnavailableResponse();
+ throw new ServiceUnavailableException("503", e.getMessage(), null);
}
}