From 186dc8ec368f39adfb3a1d9549be0fb8fe05d581 Mon Sep 17 00:00:00 2001 From: Ramon Ramirez Date: Wed, 7 Jan 2026 10:23:00 -0400 Subject: [PATCH] Update models --- scripts/native/Dockerfile | 4 +- .../common/domain/model/BalanceType.java | 26 ++ .../common/domain/model/Identifier.java | 1 - .../module/account/domain/model/Account.java | 5 +- .../account/domain/model/AccountBalance.java | 3 +- .../domain/model/AccountIdentification.java | 2 +- .../model/AccountIdentificationType.java | 15 ++ .../domain/model/AccountInvolvement.java | 2 +- .../domain/model/AccountInvolvementType.java | 10 + ...DateTime.java => AccountRelationship.java} | 5 +- .../domain/model/AccountRelationshipType.java | 7 + .../account/domain/model/AccountStatus.java | 2 +- .../domain/model/AccountStatusType.java | 9 + .../LegalCustomerProductDirectoryService.java | 251 +++++++++--------- ...LegalCustomerProductDirectoryResponse.java | 2 + ...LegalCustomerProductDirectoryResource.java | 123 +++------ .../module/party/domain/model/Party.java | 2 - .../domain/model/PartyIdentificationType.java | 3 +- .../domain/model/ServicingIssue.java | 15 ++ src/main/resources/application-dev.yml | 2 +- 20 files changed, 263 insertions(+), 226 deletions(-) create mode 100644 src/main/java/com/banesco/common/domain/model/BalanceType.java create mode 100644 src/main/java/com/banesco/module/account/domain/model/AccountIdentificationType.java create mode 100644 src/main/java/com/banesco/module/account/domain/model/AccountInvolvementType.java rename src/main/java/com/banesco/module/account/domain/model/{AccountDateTime.java => AccountRelationship.java} (69%) create mode 100644 src/main/java/com/banesco/module/account/domain/model/AccountRelationshipType.java create mode 100644 src/main/java/com/banesco/module/account/domain/model/AccountStatusType.java create mode 100644 src/main/java/com/banesco/module/servicing_issue/domain/model/ServicingIssue.java diff --git a/scripts/native/Dockerfile b/scripts/native/Dockerfile index 99dfbd3..c3b34be 100644 --- a/scripts/native/Dockerfile +++ b/scripts/native/Dockerfile @@ -22,10 +22,10 @@ RUN mkdir -p /work ENV TZ="America/Caracas" ENV LANGUAGE='en_US:en' VOLUME /tmp -COPY /file/*-runner /work/recLegalCustomerProductDirectory +COPY /file/*-runner /work/app RUN chmod -R 775 /work RUN ls -ltra /work/ EXPOSE 8080 WORKDIR /work/ -ENTRYPOINT ["./recLegalCustomerProductDirectory", "-Dquarkus.http.host=0.0.0.0"] \ No newline at end of file +ENTRYPOINT ["./app", "-Dquarkus.http.host=0.0.0.0"] \ No newline at end of file diff --git a/src/main/java/com/banesco/common/domain/model/BalanceType.java b/src/main/java/com/banesco/common/domain/model/BalanceType.java new file mode 100644 index 0000000..0d24022 --- /dev/null +++ b/src/main/java/com/banesco/common/domain/model/BalanceType.java @@ -0,0 +1,26 @@ +package com.banesco.common.domain.model; + +public enum BalanceType { + OPENING_BALANCE, + CLOSING_BALANCE, + CURRENT_BALANCE, + AVAILABLE_BALANCE, + LEDGER_BALANCE, + RESERVE_BALANCE, + FREE_BALANCE, + PRINCIPAL_BALANCE, + CLOSING_AVAILABLE, + CLOSING_BOOKED, + FORWARD_AVAILABLE, + INFORMATION, + INTERIM_AVAILABLE, + INTERIM_BOOKED, + OPENING_AVAILABLE, + OPENING_BOOKED, + PREVIOUSLY_CLOSED_BOOKED, + EXPECTED, + DAILY_MAXIMUM, + MONTHLY_MAXIMUM, + TRANSACTION_MAXIMUM, + TRANSACTION_MINIMUM, +} 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 d320348..5aeef67 100644 --- a/src/main/java/com/banesco/common/domain/model/Identifier.java +++ b/src/main/java/com/banesco/common/domain/model/Identifier.java @@ -11,5 +11,4 @@ import lombok.*; @RegisterForReflection public class Identifier { private String identifierValue; - private String issuingAuthority; } 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 5727ebd..dc57579 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 @@ -14,12 +14,9 @@ import java.util.List; public class Account { private AccountStatus accountStatus; private List accountIdentification; - private List accountDate; private String accountType; - private String accountPurpose; private List accountBalance; private List accountCurrency; - private String accountDescription; - private String accountName; private List accountInvolvement; + private List accountRelationship; } \ No newline at end of file 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 8a64894..380252b 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,5 +1,6 @@ package com.banesco.module.account.domain.model; +import com.banesco.common.domain.model.BalanceType; import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @@ -13,5 +14,5 @@ import java.math.BigDecimal; @RegisterForReflection public class AccountBalance { private BigDecimal balanceAmount; - private String balanceType; + private BalanceType balanceType; } 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 93da671..93c97d8 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 @@ -11,6 +11,6 @@ import lombok.*; @AllArgsConstructor @RegisterForReflection public class AccountIdentification { - private String accountIdentificationType; + private AccountIdentificationType accountIdentificationType; private Identifier accountIdentification; } diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountIdentificationType.java b/src/main/java/com/banesco/module/account/domain/model/AccountIdentificationType.java new file mode 100644 index 0000000..c954018 --- /dev/null +++ b/src/main/java/com/banesco/module/account/domain/model/AccountIdentificationType.java @@ -0,0 +1,15 @@ +package com.banesco.module.account.domain.model; + +public enum AccountIdentificationType { + BBAN, + IBAN, + UPIC, + ACCOUNT_NUMBER, + PAN, + PAYM, + WALLET, + SORT_CODE_AND_ACCOUNT_NUMBER, + PRODUCT_CODE, + BANK_NUMBER, + ACCOUNT_CLASS +} 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 e9d6930..b84320f 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 @@ -11,6 +11,6 @@ import lombok.*; @AllArgsConstructor @RegisterForReflection public class AccountInvolvement { - private String accountInvolvementType; + private AccountInvolvementType accountInvolvementType; private Party partyReference; } diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountInvolvementType.java b/src/main/java/com/banesco/module/account/domain/model/AccountInvolvementType.java new file mode 100644 index 0000000..93f382d --- /dev/null +++ b/src/main/java/com/banesco/module/account/domain/model/AccountInvolvementType.java @@ -0,0 +1,10 @@ +package com.banesco.module.account.domain.model; + +public enum AccountInvolvementType { + PARTY_IS_OWNER_OF_ACCOUNT, + PARTY_IS_SERVICER_OF_ACCOUNT, + PARTY_IS_PAYEE_ON_ACCOUNT, + PARTY_IS_PRIMARY_OWNER_OF_ACCOUNT, + PARTY_IS_CO_OWNER_OF_ACCOUNT, + PARTY_IS_JOINT_OWNER_OF_ACCOUNT, +} diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java b/src/main/java/com/banesco/module/account/domain/model/AccountRelationship.java similarity index 69% rename from src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java rename to src/main/java/com/banesco/module/account/domain/model/AccountRelationship.java index 422c13a..8dc07eb 100644 --- a/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java +++ b/src/main/java/com/banesco/module/account/domain/model/AccountRelationship.java @@ -9,7 +9,6 @@ import lombok.*; @NoArgsConstructor @AllArgsConstructor @RegisterForReflection -public class AccountDateTime { - private String dateType; - private String date; +public class AccountRelationship { + private AccountRelationshipType accountRelationshipType; } diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountRelationshipType.java b/src/main/java/com/banesco/module/account/domain/model/AccountRelationshipType.java new file mode 100644 index 0000000..b9a7269 --- /dev/null +++ b/src/main/java/com/banesco/module/account/domain/model/AccountRelationshipType.java @@ -0,0 +1,7 @@ +package com.banesco.module.account.domain.model; + +public enum AccountRelationshipType { + ACCOUNT_IS_PARENT_ACCOUNT_FOR_ACCOUNT, + ACCOUNT_IS_SUB_ACCOUNT_FOR_ACCOUNT, + ACCOUNT_IS_LINKED_TO_ACCOUNT, +} 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 bbe6584..d4abde3 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 @@ -11,5 +11,5 @@ import lombok.*; @RegisterForReflection public class AccountStatus { private String status; - private String statusType; + private AccountStatusType statusType; } \ No newline at end of file diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountStatusType.java b/src/main/java/com/banesco/module/account/domain/model/AccountStatusType.java new file mode 100644 index 0000000..f5cebe9 --- /dev/null +++ b/src/main/java/com/banesco/module/account/domain/model/AccountStatusType.java @@ -0,0 +1,9 @@ +package com.banesco.module.account.domain.model; + +public enum AccountStatusType { + ENABLED, + DISABLED, + DELETED, + PROFORMA, + PENDING, +} 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 2ed0b08..595e7d4 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 @@ -1,6 +1,5 @@ package com.banesco.module.legal_customer_product_directory.application.service; -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; @@ -15,6 +14,7 @@ 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 com.banesco.module.servicing_issue.domain.model.ServicingIssue; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import lombok.extern.slf4j.Slf4j; @@ -32,7 +32,6 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc @Inject public LegalCustomerProductDirectoryService( - ErrorResponseHelper errorResponseHelper, RequestValidatorHelper requestValidatorHelper, BusinessUseCase businessUseCase ) { @@ -68,7 +67,6 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc LegalCustomerProductDirectoryRequest request ) { requestValidatorHelper.validateRequired(request); - requestValidatorHelper.validateFieldValues(request); } private ApiResponse business( @@ -86,127 +84,136 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc } private ApiResponse createSuccessMock() { - StatusResponse statusResponse = StatusResponse.builder() + return new ApiResponse<>( + LegalCustomerProductDirectoryResponse.builder() + .customerProductAndServiceDirectory( + CustomerProductAndServiceDirectory.builder() + .party(getParty()) + .accounts(List.of(getAccount())) + .build() + ) + .servicingIssue( + ServicingIssue.builder() + .procedureCode("") + .issueDescription("") + .build() + ) + .build(), + 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 + .build() ); } + + private Party getParty() { + return Party.builder() + .partyName(List.of( + Name.builder() + .fullName("TASCA RESTAURANT GOOD WORLD CEN, C.A.") + .build() + )) + .partyType(PartyType.ORGANISATION) + .partyIdentification(List.of( + PartyIdentification.builder() + .partyIdentificationType(PartyIdentificationType.TAX_IDENTIFICATION_NUMBER) + .partyIdentification(Identifier.builder() + .identifierValue("J000000001") + .build()) + .build() + )) + .build(); + } + + private Account getAccount() { + return Account.builder() + .accountStatus(AccountStatus.builder() + .status("A") + .statusType(AccountStatusType.ENABLED) + .build()) + .accountType("MMK") + .accountIdentification(List.of( + AccountIdentification.builder() + .accountIdentificationType(AccountIdentificationType.ACCOUNT_NUMBER) + .accountIdentification(Identifier.builder() + .identifierValue("01340025330253093528") + .build()) + .build(), + AccountIdentification.builder() + .accountIdentificationType(AccountIdentificationType.BANK_NUMBER) + .accountIdentification(Identifier.builder() + .identifierValue("01") + .build()) + .build(), + AccountIdentification.builder() + .accountIdentificationType(AccountIdentificationType.PRODUCT_CODE) + .accountIdentification(Identifier.builder() + .identifierValue("3980") + .build()) + .build(), + AccountIdentification.builder() + .accountIdentificationType(AccountIdentificationType.ACCOUNT_CLASS) + .accountIdentification(Identifier.builder() + .identifierValue("80") + .build()) + .build() + )) + .accountBalance(List.of( + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(390417.36)) + .balanceType(BalanceType.AVAILABLE_BALANCE) + .build(), + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(100000.00)) + .balanceType(BalanceType.DAILY_MAXIMUM) + .build(), + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(3000000.00)) + .balanceType(BalanceType.MONTHLY_MAXIMUM) + .build(), + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(0.01)) + .balanceType(BalanceType.TRANSACTION_MINIMUM) + .build(), + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(100000.00)) + .balanceType(BalanceType.TRANSACTION_MAXIMUM) + .build() + )) + .accountCurrency(List.of( + AccountCurrency.builder() + .currencyCode("BS") + .currencyType(CurrencyType.BASE) + .build() + )) + .accountInvolvement(List.of( + AccountInvolvement.builder() + .accountInvolvementType(AccountInvolvementType.PARTY_IS_OWNER_OF_ACCOUNT) + .partyReference( + Party.builder() + .partyIdentification(List.of( + PartyIdentification.builder() + .partyIdentificationType(PartyIdentificationType.TELEPHONE_NUMBER) + .partyIdentification(Identifier.builder() + .identifierValue("04122710660") + .build()) + .build(), + PartyIdentification.builder() + .partyIdentificationType(PartyIdentificationType.TELEPHONE_OPERATOR) + .partyIdentification(Identifier.builder() + .identifierValue("0412") + .build()) + .build() + )) + .build() + ) + .build() + )) + .accountRelationship(List.of( + AccountRelationship.builder() + .accountRelationshipType(AccountRelationshipType.ACCOUNT_IS_SUB_ACCOUNT_FOR_ACCOUNT) + .build() + )) + .build(); + } } \ No newline at end of file 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 ffe18cc..787ec25 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,6 +1,7 @@ package com.banesco.module.legal_customer_product_directory.domain.dto.response; import com.banesco.module.legal_customer_product_directory.domain.model.CustomerProductAndServiceDirectory; +import com.banesco.module.servicing_issue.domain.model.ServicingIssue; import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @@ -12,4 +13,5 @@ import lombok.*; @RegisterForReflection public class LegalCustomerProductDirectoryResponse { private CustomerProductAndServiceDirectory customerProductAndServiceDirectory; + private ServicingIssue servicingIssue; } 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 1e6997e..9e0410d 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 @@ -63,80 +63,68 @@ public class LegalCustomerProductDirectoryResource { } ], "partyType": "ORGANISATION", - "partyDateTime": [], "partyIdentification": [ { "partyIdentificationType": "TAX_IDENTIFICATION_NUMBER", "partyIdentification": { - "identifierValue": "J000000001", - "issuingAuthority": "" + "identifierValue": "J000000001" } } ], - "partyLegalStructureType": "" }, "accounts": [ { "accountStatus": { - "status": "D" + "status": "A", + "statusType": "ENABLED" }, + "accountType": "MMK", "accountIdentification": [ { - "accountIdentificationType": "NUMERO_CUENTA", + "accountIdentificationType": "ACCOUNT_NUMBER", "accountIdentification": { - "identifierValue": "01340025330253093528", - "issuingAuthority": "" + "identifierValue": "01340025330253093528" } }, { - "accountIdentificationType": "NUMERO_BANCO", + "accountIdentificationType": "BANK_NUMBER", "accountIdentification": { - "identifierValue": "01", - "issuingAuthority": "" + "identifierValue": "01" } }, { - "accountIdentificationType": "CODIGO_PRODUCTO", + "accountIdentificationType": "PRODUCT_CODE", "accountIdentification": { - "identifierValue": "3980", - "issuingAuthority": "" + "identifierValue": "3980" } }, { - "accountIdentificationType": "CLASE_CUENTA", + "accountIdentificationType": "ACCOUNT_CLASS", "accountIdentification": { - "identifierValue": "80", - "issuingAuthority": "" - } - }, - { - "accountIdentificationType": "TIPO_CUENTA", - "accountIdentification": { - "identifierValue": "MMK", - "issuingAuthority": "" + "identifierValue": "80" } } ], "accountBalance": [ { "balanceAmount": 390417.36, - "balanceType": "SALDO_DISPONIBLE" + "balanceType": "AVAILABLE_BALANCE" }, { "balanceAmount": 100000.00, - "balanceType": "MAXIMO_DIARIO" - }, - { - "balanceAmount": 100000.00, - "balanceType": "MAXIMO_TRANSACCION" + "balanceType": "DAILY_MAXIMUM" }, { "balanceAmount": 3000000.00, - "balanceType": "MAXIMO_MENSUAL" + "balanceType": "MONTHLY_MAXIMUM" }, { "balanceAmount": 0.01, - "balanceType": "MINIMO_TRANSACCION" + "balanceType": "TRANSACTION_MINIMUM" + }, + { + "balanceAmount": 100000.00, + "balanceType": "TRANSACTION_MAXIMUM" } ], "accountCurrency": [ @@ -145,25 +133,38 @@ public class LegalCustomerProductDirectoryResource { "currencyType": "BASE" } ], - "accountDescription": "TASCA RESTAURANT GOOD WORLD CEN, C.A.", "accountInvolvement": [ { - "accountInvolvementType": "CONTACTO_TELEFONICO", + "accountInvolvementType": "PARTY_IS_OWNER_OF_ACCOUNT", "partyReference": { "partyIdentification": [ { "partyIdentificationType": "TELEPHONE_NUMBER", "partyIdentification": { "identifierValue": "04122710660", - "issuingAuthority": "" + } + }, + { + "partyIdentificationType": "TELEPHONE_OPERATOR", + "partyIdentification": { + "identifierValue": "0412", } } ] } } + ], + "accountRelationship": [ + { + "accountRelationshipType": "ACCOUNT_IS_SUB_ACCOUNT_FOR_ACCOUNT" + } ] } ] + }, + "servicingIssue": { + "procedureCode": "", + "issueDescription": "" } }, "statusResponse": { @@ -277,47 +278,7 @@ public class LegalCustomerProductDirectoryResource { @PathParam("customerIbsNumber") @Parameter(description = "Número de cliente IBS (VCUSCUN)", example = "200053197") - String customerIbsNumber, - - @QueryParam("bankNumber") - @Parameter(description = "Número de banco (VACMBNK)", example = "01") - String bankNumber, - - @QueryParam("currencyCode") - @Parameter(description = "Código de moneda (VACMCCY)", example = "BS") - String currencyCode, - - @QueryParam("accountStatus") - @Parameter(description = "Estatus de cuenta (VACMAST). 'A'=Activa BS, 'O'=Activa USD, 'ACTBSUSD'=Ambas", example = "A") - String accountStatus, - - @QueryParam("productCvCode") - @Parameter(description = "Código de Producto Cuenta Verde (VACMPROCV). 'CV'=Cuenta verde, 'CVFL'=Cuenta verde con opción activa", example = "CV") - String productCvCode, - - @QueryParam("productCode") - @Parameter(description = "Código de producto (VACMPRO)", example = "3980") - String productCode, - - @QueryParam("channelCode") - @Parameter(description = "Código de canal (VAFILICANAL)", example = "APP") - String channelCode, - - @QueryParam("serviceType") - @Parameter(description = "Tipo de servicio (VAFILICOSER)", example = "P2P") - String serviceType, - - @QueryParam("affiliationStatus") - @Parameter(description = "Estatus de afiliación (VAFILISTATU)", example = "A") - String affiliationStatus, - - @QueryParam("limitType") - @Parameter(description = "Pagador/Receptor (VALIMIT). 'PAG'=Pagadora, 'REC'=Receptora", example = "PAG") - String limitType, - - @QueryParam("casheaIndicator") - @Parameter(description = "Indicador cash (VCASHEA). 'SI'=En tabla cashea, 'NO'=No en tabla cashea", example = "SI") - String casheaIndicator + String customerIbsNumber ) { log.info("Iniciando consulta para cliente IBS: {}", customerIbsNumber); @@ -327,16 +288,6 @@ public class LegalCustomerProductDirectoryResource { .customerIbsNumber(Objects.toString(customerIbsNumber, "")) .customerReferenceFintechId(customerReferenceFintechId) .appId(appId) - .bankNumber(Objects.toString(bankNumber, "")) - .currencyCode(Objects.toString(currencyCode, "")) - .accountStatus(Objects.toString(accountStatus, "")) - .productCvCode(Objects.toString(productCvCode, "")) - .productCode(Objects.toString(productCode, "")) - .channelCode(Objects.toString(channelCode, "")) - .serviceType(Objects.toString(serviceType, "")) - .affiliationStatus(Objects.toString(affiliationStatus, "")) - .limitType(Objects.toString(limitType, "")) - .casheaIndicator(Objects.toString(casheaIndicator, "")) .build() )).build(); } catch (BaseApiException e) { 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 40e005e..7944652 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 @@ -15,7 +15,5 @@ import java.util.List; public class Party { private List partyName; private PartyType partyType; - private List partyDateTime; private List partyIdentification; - private String partyLegalStructureType; } diff --git a/src/main/java/com/banesco/module/party/domain/model/PartyIdentificationType.java b/src/main/java/com/banesco/module/party/domain/model/PartyIdentificationType.java index cebcb82..2a5fd19 100644 --- a/src/main/java/com/banesco/module/party/domain/model/PartyIdentificationType.java +++ b/src/main/java/com/banesco/module/party/domain/model/PartyIdentificationType.java @@ -15,5 +15,6 @@ public enum PartyIdentificationType { IDENTITY_CARD_NUMBER, CONCAT, NATIONAL_REGISTRATION_IDENTIFICATION_NUMBER, - TELEPHONE_NUMBER + TELEPHONE_NUMBER, + TELEPHONE_OPERATOR, } \ No newline at end of file diff --git a/src/main/java/com/banesco/module/servicing_issue/domain/model/ServicingIssue.java b/src/main/java/com/banesco/module/servicing_issue/domain/model/ServicingIssue.java new file mode 100644 index 0000000..de2d86e --- /dev/null +++ b/src/main/java/com/banesco/module/servicing_issue/domain/model/ServicingIssue.java @@ -0,0 +1,15 @@ +package com.banesco.module.servicing_issue.domain.model; + +import io.quarkus.runtime.annotations.RegisterForReflection; +import lombok.*; + +@Getter +@ToString +@Builder +@NoArgsConstructor +@AllArgsConstructor +@RegisterForReflection +public class ServicingIssue { + private String procedureCode; + private String issueDescription; +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index d24ba57..1545c77 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -11,7 +11,7 @@ api: allowed: request-validation: customer-ibs-number: '\d+' - account-status: '^(A|O|ACTBSUSD)$' + account-status: '^(A)$' product-cv-code: '^(CV|CVFL)$' limit-type: '^(PAG|REC)$' cachea-indicator: '^(SI|NO)$'