Compare commits

..

No commits in common. "d098450785981a30ebfc6716152629a5176d7c77" and "e539e72251ba1c7984d116a97337f96d94cebeac" have entirely different histories.

28 changed files with 137 additions and 649 deletions

View File

@ -77,10 +77,6 @@
<groupId>io.quarkus</groupId> <groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-health</artifactId> <artifactId>quarkus-smallrye-health</artifactId>
</dependency> </dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>

View File

@ -1,15 +1,12 @@
package com.banesco.common.application.helper; package com.banesco.common.application.helper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject; import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import java.util.*; import java.util.Base64;
@Slf4j @Slf4j
@ApplicationScoped @ApplicationScoped
@ -47,50 +44,4 @@ public class SerializationHelper {
return null; return null;
} }
} }
public String encodeSha256(String json) {
return DigestUtils.sha256Hex(json);
}
public <T> String toJsonString(T element) {
if (element == null) {
return "";
}
try {
return objectMapper.writeValueAsString(element);
} catch (JsonProcessingException e) {
log.error("Error al convertir objeto a Json String: {}", e.getMessage());
return "";
}
}
public <T> Map<String, Object> toMap(T element) {
return toMap(element, null);
}
public <T> Map<String, Object> toMap(
T element,
List<String> excludedFields
) {
if (element == null) {
return new HashMap<>();
}
try {
Map<String, Object> map = objectMapper.convertValue(
element, new TypeReference<>() {}
);
if (excludedFields != null && !excludedFields.isEmpty()) {
Set<String> excludedSet = new HashSet<>(excludedFields);
excludedSet.forEach(map::remove);
}
return map;
} catch (Exception e) {
log.error("Error al convertir objeto a Map: {}", e.getMessage());
return new HashMap<>();
}
}
} }

View File

@ -21,7 +21,7 @@ public class RestClientConfig {
private final ObjectMapper objectMapper; private final ObjectMapper objectMapper;
private static final String API_BASE = "api.rest-client."; private static final String API_BASE = "api.rest-client.";
private static final String API_PAYMENT_ORDER_BY_PARAMETERS_NAME = "payment-order-by-parameters"; private static final String API_PAYMENT_STATUS_BY_ID_NAME = "payment-status-by-id";
@Inject @Inject
public RestClientConfig( public RestClientConfig(
@ -33,7 +33,7 @@ public class RestClientConfig {
} }
public PaymentOrderConfig getPaymentOrderConfig() { public PaymentOrderConfig getPaymentOrderConfig() {
return getConfig(API_PAYMENT_ORDER_BY_PARAMETERS_NAME, PaymentOrderConfig.class); return getConfig(API_PAYMENT_STATUS_BY_ID_NAME, PaymentOrderConfig.class);
} }
private <T> T getConfig( private <T> T getConfig(

View File

@ -1,6 +1,5 @@
package com.banesco.module.document.domain.model; package com.banesco.module.document.domain.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*; import lombok.*;
@ -10,7 +9,6 @@ import lombok.*;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@RegisterForReflection @RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Document { public class Document {
private String documentName; // fileName private String documentName; // fileName
} }

View File

@ -2,14 +2,11 @@ package com.banesco.module.instruction.domain.model;
import com.banesco.common.domain.exception.HttpStatusCodeException; import com.banesco.common.domain.exception.HttpStatusCodeException;
import com.banesco.common.domain.model.Identifier; import com.banesco.common.domain.model.Identifier;
import com.banesco.module.party.domain.model.Party;
import com.banesco.module.party.domain.model.PartyIdentification;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*; import lombok.*;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Objects; import java.util.Objects;
@Getter @Getter
@ -20,16 +17,14 @@ import java.util.Objects;
@RegisterForReflection @RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class Instruction { public class Instruction {
private InstructionInvolvement instructionInvolvement; // Request JSON: "recipientId" private InstructionIdentification instructionIdentifier; // Request JSON: "recipientId"
private List<InstructionDateTime> instructionDate; // Request JSON: "dateCreate" private String instructionDescription; // Request JSON: "signature"
private InstructionIdentification instructionIdentifier; // Request JSON: "id"
private InstructionPurposeType instructionPurposeType; // Request JSON: "channelOrigin" (BOLE) private InstructionPurposeType instructionPurposeType; // Request JSON: "channelOrigin" (BOLE)
public static Instruction fromResource( public static Instruction fromResource(
String partyReferenceId, String partyReferenceId,
String initiatedDate, String channelCode,
String instructionRequestId, String signatureIdentifier
String channelCode
) { ) {
boolean isChannelCodeValid = (Arrays.stream( boolean isChannelCodeValid = (Arrays.stream(
InstructionPurposeType.values() InstructionPurposeType.values()
@ -40,39 +35,18 @@ public class Instruction {
} }
return Instruction.builder() return Instruction.builder()
.instructionInvolvement(
InstructionInvolvement.builder()
.partyReference(
Party.builder()
.partyIdentification(List.of(
PartyIdentification.builder()
.partyIdentification(
Identifier.builder()
.identifierValue(Objects.toString(partyReferenceId, ""))
.build()
)
.build()
))
.build()
)
.build()
)
.instructionIdentifier( .instructionIdentifier(
InstructionIdentification.builder() InstructionIdentification.builder()
.identification( .identification(
Identifier.builder() Identifier.builder()
.identifierValue(Objects.toString(instructionRequestId, "")) .identifierValue(partyReferenceId)
.build() .build()
) )
.identificationType(InstructionIdentificationType.INSTRUCTION_NUMBER) .identificationType(InstructionIdentificationType.INSTRUCTION_NUMBER)
.build() .build()
) )
.instructionDate(List.of(
InstructionDateTime.builder()
.date(Objects.toString(initiatedDate, ""))
.build()
))
.instructionPurposeType(InstructionPurposeType.valueOf(channelCode)) .instructionPurposeType(InstructionPurposeType.valueOf(channelCode))
.instructionDescription(signatureIdentifier)
.build(); .build();
} }
} }

View File

@ -1,14 +0,0 @@
package com.banesco.module.instruction.domain.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@RegisterForReflection
public class InstructionDateTime {
private String date;
}

View File

@ -1,15 +0,0 @@
package com.banesco.module.instruction.domain.model;
import com.banesco.module.party.domain.model.Party;
import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@RegisterForReflection
public class InstructionInvolvement {
private Party partyReference;
}

View File

@ -14,5 +14,6 @@ public class PaymentOrderRequest {
private Operation operation; private Operation operation;
private String channelId; private String channelId;
private String signature; private String signature;
private String fintechId; private String fintechId;
} }

View File

@ -11,6 +11,4 @@ import lombok.*;
@RegisterForReflection @RegisterForReflection
public class Operation { public class Operation {
private String recipientId; private String recipientId;
private String dateCreate;
private Long id;
} }

View File

@ -11,7 +11,7 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@RegisterForReflection @RegisterForReflection
public class PaymentOrderBole { public class PaymentOrder {
private Long nroRequest; private Long nroRequest;
private String dispatchDate; private String dispatchDate;
private String fileName; private String fileName;

View File

@ -1,23 +0,0 @@
package com.banesco.module.payment_order.domain.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
import java.math.BigDecimal;
@Getter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@RegisterForReflection
public class PaymentOrderBol {
private Long id;
private String requestType;
private String emitterReceptor;
private String status;
private BigDecimal amount;
private String currency;
private String concept;
private String dateCreate;
}

View File

@ -38,8 +38,7 @@ public class PaymentOrderClient implements PaymentOrderUseCase {
PaymentOrderRequest params, PaymentOrderRequest params,
Class<T> responseType Class<T> responseType
) { ) {
String fintechId = params.getFintechId(); String signatureIdentifier = serializationHelper.encodeBase64(params);
String signatureIdentifier = getSignatureIdentifier(params);
HttpRequest request = HttpRequest.forApiPrivateResponseList( HttpRequest request = HttpRequest.forApiPrivateResponseList(
paymentOrderConfig.getUrl(), paymentOrderConfig.getUrl(),
paymentOrderConfig.getStatusSuccess(), paymentOrderConfig.getStatusSuccess(),
@ -47,7 +46,7 @@ public class PaymentOrderClient implements PaymentOrderUseCase {
responseType responseType
) )
.withPathParams(Map.of("signatureIdentifier", signatureIdentifier)) .withPathParams(Map.of("signatureIdentifier", signatureIdentifier))
.withHeaders(Map.of("fintechId", fintechId)) .withHeaders(Map.of("fintechId", params.getFintechId()))
.withTimeout( .withTimeout(
paymentOrderConfig.getTimeout().getConnect(), paymentOrderConfig.getTimeout().getConnect(),
paymentOrderConfig.getTimeout().getResponse() paymentOrderConfig.getTimeout().getResponse()
@ -107,24 +106,4 @@ public class PaymentOrderClient implements PaymentOrderUseCase {
throw HttpStatusCodeException.serviceUnavailable("503"); throw HttpStatusCodeException.serviceUnavailable("503");
} }
} }
private String getSignatureIdentifier(PaymentOrderRequest params) {
Map<String, Object> paymentOrderRequest = serializationHelper.toMap(params);
String signature = serializationHelper.encodeSha256(
serializationHelper.toJsonString(paymentOrderRequest.get("operation")) +
serializationHelper.encodeBase64(params.getChannelId())
);
paymentOrderRequest.put("signature", signature);
paymentOrderRequest.remove("fintechId");
String signatureIdentifier = serializationHelper.encodeBase64(paymentOrderRequest);
log.info("1. Firma generada: {}", signature);
log.info("2. Parametros de la solicitud: {}", paymentOrderRequest);
log.info("3. Solicitud codificada: {}", signatureIdentifier);
return signatureIdentifier;
}
} }

View File

@ -31,7 +31,7 @@ public class ServiceOrderPaymentSearchService implements ServiceOrderPaymentSear
public ApiResponse<ServiceOrderPaymentSearchResponse> execute( public ApiResponse<ServiceOrderPaymentSearchResponse> execute(
ServiceOrderPaymentSearchRequest request ServiceOrderPaymentSearchRequest request
) { ) {
log.info("Iniciando ejecucion para el id: {}", request.getPartyId()); log.info("Iniciando ejecucion para el id: {}", request.getId());
try { try {
return apiPrivate(request); return apiPrivate(request);
@ -54,7 +54,7 @@ public class ServiceOrderPaymentSearchService implements ServiceOrderPaymentSear
private ApiResponse<ServiceOrderPaymentSearchResponse> apiPrivate( private ApiResponse<ServiceOrderPaymentSearchResponse> apiPrivate(
ServiceOrderPaymentSearchRequest request ServiceOrderPaymentSearchRequest request
) { ) {
log.info("Ejecutando llamada al api privada: {}", request.getPartyId()); log.info("Ejecutando llamada al api privada: {}", request.getId());
return new ApiResponse<>( return new ApiResponse<>(
ServiceOrderPaymentSearchResponse.builder() ServiceOrderPaymentSearchResponse.builder()

View File

@ -1,7 +1,6 @@
package com.banesco.module.service_order_payment_search.domain.dto.request; package com.banesco.module.service_order_payment_search.domain.dto.request;
import com.banesco.module.instruction.domain.model.Instruction; import com.banesco.module.instruction.domain.model.Instruction;
import com.banesco.module.instruction.domain.model.InstructionPurposeType;
import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*; import lombok.*;
@ -24,51 +23,22 @@ public class ServiceOrderPaymentSearchRequest {
@NonNull @NonNull
private Instruction procedureRequest; private Instruction procedureRequest;
public String getPartyId() { public String getId() {
return getProcedureRequest() return getProcedureRequest().getInstructionIdentifier().getIdentification().getIdentifierValue();
.getInstructionInvolvement()
.getPartyReference()
.getPartyIdentification()
.get(0)
.getPartyIdentification()
.getIdentifierValue();
}
public String getInitiatedDate() {
return getProcedureRequest()
.getInstructionDate()
.get(0)
.getDate();
}
public String getPaymentRequestId() {
return getProcedureRequest()
.getInstructionIdentifier()
.getIdentification()
.getIdentifierValue();
} }
public String getChannelCode() { public String getChannelCode() {
return getProcedureRequest().getInstructionPurposeType().name(); return getProcedureRequest().getInstructionPurposeType().name();
} }
public boolean isBole() { public String getSignatureIdentifier() {
return getProcedureRequest().getInstructionPurposeType() == InstructionPurposeType.BOLE; return getProcedureRequest().getInstructionDescription();
}
public Map<String, String> toParams() {
return Map.ofEntries(
entry("partyReferenceId", Objects.toString(getPartyId(), "")),
entry("channelCode", Objects.toString(getChannelCode(), ""))
);
} }
public Map<String, String> toQueryString() { public Map<String, String> toQueryString() {
return Map.ofEntries( return Map.ofEntries(
entry("appId", Objects.toString(getAppId(), "")), entry("appId", Objects.toString(getAppId(), "")),
entry("customerReferenceFintechId", Objects.toString(getCustomerReferenceFintechId(), "")), entry("customerReferenceFintechId", Objects.toString(getCustomerReferenceFintechId(), ""))
entry("initiatedDate", Objects.toString(getInitiatedDate(), "")),
entry("paymentRequestId", Objects.toString(getPaymentRequestId(), ""))
); );
} }
} }

View File

@ -2,7 +2,6 @@ package com.banesco.module.service_order_payment_search.domain.model;
import com.banesco.module.document.domain.model.Document; import com.banesco.module.document.domain.model.Document;
import com.banesco.module.transaction.domain.model.Transaction; import com.banesco.module.transaction.domain.model.Transaction;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*; import lombok.*;
@ -12,10 +11,7 @@ import lombok.*;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@RegisterForReflection @RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ServicingOrderProcedure { public class ServicingOrderProcedure {
private Document document; // BOLE: fileName private Document document; // fileName
// BOLE: nroRequest, status, accepted, rejected, expired, dispatchDate, quantity private Transaction transaction; // status, accepted, rejected, expired
// BOL: id, requestType, emitterReceptor, status, amount, currency, concept, dateCreate
private Transaction transaction;
} }

View File

@ -2,8 +2,7 @@ package com.banesco.module.service_order_payment_search.infrastructure.adapter;
import com.banesco.common.domain.exception.HttpStatusCodeException; import com.banesco.common.domain.exception.HttpStatusCodeException;
import com.banesco.module.payment_order.application.usecase.PaymentOrderUseCase; import com.banesco.module.payment_order.application.usecase.PaymentOrderUseCase;
import com.banesco.module.payment_order.domain.model.PaymentOrderBol; import com.banesco.module.payment_order.domain.model.PaymentOrder;
import com.banesco.module.payment_order.domain.model.PaymentOrderBole;
import com.banesco.module.service_order_payment_search.application.repository.ApiPrivateRepository; import com.banesco.module.service_order_payment_search.application.repository.ApiPrivateRepository;
import com.banesco.module.service_order_payment_search.domain.dto.request.ServiceOrderPaymentSearchRequest; import com.banesco.module.service_order_payment_search.domain.dto.request.ServiceOrderPaymentSearchRequest;
import com.banesco.module.service_order_payment_search.domain.model.ServicingOrderProcedure; import com.banesco.module.service_order_payment_search.domain.model.ServicingOrderProcedure;
@ -30,42 +29,16 @@ public class ApiPrivateAdapter implements ApiPrivateRepository {
public List<ServicingOrderProcedure> execute( public List<ServicingOrderProcedure> execute(
ServiceOrderPaymentSearchRequest request ServiceOrderPaymentSearchRequest request
) { ) {
return request.isBole() ? executeBole(request) : executeBol(request); List<PaymentOrder> response = paymentOrderUseCase.execute(
} ServicingOrderMapper.toPaymentRequest(request), PaymentOrder.class
private List<ServicingOrderProcedure> executeBole(
ServiceOrderPaymentSearchRequest request
) {
List<PaymentOrderBole> response = paymentOrderUseCase.execute(
ServicingOrderMapper.toPaymentRequest(request),
PaymentOrderBole.class
); );
log.info("Resultado de las transacciones obtenidas (BOLE): {}", response.size()); log.info("Resultado de las transacciones obtenidas: {}", response.size());
validateResponseNotEmpty(response);
return ServicingOrderMapper.toBoleModel(response);
}
private List<ServicingOrderProcedure> executeBol(
ServiceOrderPaymentSearchRequest request
) {
List<PaymentOrderBol> response = paymentOrderUseCase.execute(
ServicingOrderMapper.toPaymentRequest(request),
PaymentOrderBol.class
);
log.info("Resultado de las transacciones obtenidas (BOL): {}", response.size());
validateResponseNotEmpty(response);
return ServicingOrderMapper.toBolModel(response);
}
private <T> void validateResponseNotEmpty(List<T> response) {
if(response.isEmpty()) { if(response.isEmpty()) {
throw HttpStatusCodeException.badRequest("400"); throw HttpStatusCodeException.badRequest("400");
} }
return ServicingOrderMapper.toModel(response);
} }
} }

View File

@ -1,17 +1,13 @@
package com.banesco.module.service_order_payment_search.infrastructure.mapper; package com.banesco.module.service_order_payment_search.infrastructure.mapper;
import com.banesco.module.document.domain.model.Document; import com.banesco.module.document.domain.model.Document;
import com.banesco.module.party.domain.model.Party;
import com.banesco.module.party.domain.model.PartyIdentification;
import com.banesco.module.payment_order.domain.dto.request.PaymentOrderRequest; import com.banesco.module.payment_order.domain.dto.request.PaymentOrderRequest;
import com.banesco.module.payment_order.domain.model.Operation; import com.banesco.module.payment_order.domain.model.Operation;
import com.banesco.module.payment_order.domain.model.PaymentOrderBol; import com.banesco.module.payment_order.domain.model.PaymentOrder;
import com.banesco.module.payment_order.domain.model.PaymentOrderBole;
import com.banesco.module.service_order_payment_search.domain.dto.request.ServiceOrderPaymentSearchRequest; import com.banesco.module.service_order_payment_search.domain.dto.request.ServiceOrderPaymentSearchRequest;
import com.banesco.module.service_order_payment_search.domain.model.ServicingOrderProcedure; import com.banesco.module.service_order_payment_search.domain.model.ServicingOrderProcedure;
import com.banesco.common.domain.model.Identifier; import com.banesco.common.domain.model.Identifier;
import com.banesco.module.transaction.domain.model.*; import com.banesco.module.transaction.domain.model.*;
import io.netty.util.internal.StringUtil;
import java.util.List; import java.util.List;
@ -24,135 +20,61 @@ public class ServicingOrderMapper {
) { ) {
return PaymentOrderRequest.builder() return PaymentOrderRequest.builder()
.fintechId(request.getCustomerReferenceFintechId()) .fintechId(request.getCustomerReferenceFintechId())
.operation( .operation(Operation.builder()
Operation.builder() .recipientId(request.getId())
.recipientId(request.getPartyId()) .build())
.dateCreate((!StringUtil.isNullOrEmpty(request.getInitiatedDate())) .channelId(request.getProcedureRequest().getInstructionPurposeType().name())
? request.getInitiatedDate() .signature(request.getProcedureRequest().getInstructionDescription())
: null
)
.id((!StringUtil.isNullOrEmpty(request.getPaymentRequestId()))
? Long.valueOf(request.getPaymentRequestId())
: null
)
.build()
)
.channelId(request.getChannelCode())
.build(); .build();
} }
public static List<ServicingOrderProcedure> toBoleModel(List<PaymentOrderBole> response) { public static List<ServicingOrderProcedure> toModel(List<PaymentOrder> response) {
return response.stream().map(paymentOrderBole -> return response.stream().map(paymentOrder ->
ServicingOrderProcedure.builder() ServicingOrderProcedure.builder()
.document(buildDocumentProduct(paymentOrderBole)) .document(buildDocumentProduct(paymentOrder))
.transaction(buildBoleTransaction(paymentOrderBole)) .transaction(buildTransaction(paymentOrder))
.build() .build()
).toList(); ).toList();
} }
public static List<ServicingOrderProcedure> toBolModel(List<PaymentOrderBol> response) { private static Document buildDocumentProduct(PaymentOrder paymentOrder) {
return response.stream().map(paymentOrderBole ->
ServicingOrderProcedure.builder()
.transaction(buildBolTransaction(paymentOrderBole))
.build()
).toList();
}
private static Document buildDocumentProduct(PaymentOrderBole paymentOrderBole) {
return Document.builder() return Document.builder()
.documentName(paymentOrderBole.getFileName()) .documentName(paymentOrder.getFileName())
.build(); .build();
} }
private static Transaction buildBoleTransaction(PaymentOrderBole paymentOrderBole) { private static Transaction buildTransaction(PaymentOrder paymentOrder) {
return Transaction.builder() return Transaction.builder()
.transactionIdentification(Identifier.builder() .transactionIdentification(Identifier.builder()
.identifierValue(String.valueOf(paymentOrderBole.getNroRequest())) .identifierValue(String.valueOf(paymentOrder.getNroRequest()))
.build()) .build())
.transactionStatus(buildBoleTransactionStatus(paymentOrderBole)) .transactionStatus(buildTransactionStatus(paymentOrder))
.transactionDate(buildBoleTransactionDateTimeList(paymentOrderBole)) .transactionDate(buildTransactionDateTimeList(paymentOrder))
.transactionDetails(TransactionDetails.builder() .transactionDetails(TransactionDetails.builder()
.transactionQuantity(paymentOrderBole.getQuantity()) .transactionQuantity(paymentOrder.getQuantity())
.build()) .build())
.build(); .build();
} }
private static Transaction buildBolTransaction(PaymentOrderBol paymentOrderBol) { private static TransactionStatus buildTransactionStatus(PaymentOrder paymentOrder) {
return Transaction.builder()
.transactionIdentification(Identifier.builder()
.identifierValue(String.valueOf(paymentOrderBol.getId()))
.build())
.transactionStatus(buildBolTransactionStatus(paymentOrderBol))
.transactionDate(buildBolTransactionDateTimeList(paymentOrderBol))
.transactionInvolvement(buildBolTransactionInvolvement(paymentOrderBol))
.financialTransaction(buildBolFinancialTransaction(paymentOrderBol))
.name(paymentOrderBol.getRequestType())
.description(paymentOrderBol.getConcept())
.build();
}
private static TransactionStatus buildBoleTransactionStatus(PaymentOrderBole paymentOrderBole) {
return TransactionStatus.builder() return TransactionStatus.builder()
.statusType(mapTransactionStatusType(paymentOrderBole.getStatus())) .statusType(mapTransactionStatusType(paymentOrder.getStatus()))
.statusName(paymentOrderBole.getStatus()) .statusName(paymentOrder.getStatus())
.statusAccepted(paymentOrderBole.getAccepted()) .statusAccepted(paymentOrder.getAccepted())
.statusRejected(paymentOrderBole.getRejected()) .statusRejected(paymentOrder.getRejected())
.statusExpired(paymentOrderBole.getExpired()) .statusExpired(paymentOrder.getExpired())
.build(); .build();
} }
private static TransactionStatus buildBolTransactionStatus(PaymentOrderBol paymentOrderBol) { private static List<TransactionDateTime> buildTransactionDateTimeList(PaymentOrder paymentOrder) {
return TransactionStatus.builder()
.statusType(mapTransactionStatusType(paymentOrderBol.getStatus()))
.statusName(paymentOrderBol.getStatus())
.build();
}
private static List<TransactionDateTime> buildBoleTransactionDateTimeList(PaymentOrderBole paymentOrderBole) {
return List.of( return List.of(
TransactionDateTime.builder() TransactionDateTime.builder()
.dateType(TransactionDateTimeType.EXECUTED_DATE) .dateType(TransactionDateTimeType.EXECUTED_DATE)
.date(paymentOrderBole.getDispatchDate()) .date(paymentOrder.getDispatchDate())
.build() .build()
); );
} }
private static List<TransactionDateTime> buildBolTransactionDateTimeList(PaymentOrderBol paymentOrderBol) {
return List.of(
TransactionDateTime.builder()
.dateType(TransactionDateTimeType.INITIATED_DATE)
.date(paymentOrderBol.getDateCreate())
.build()
);
}
private static List<TransactionInvolvement> buildBolTransactionInvolvement(PaymentOrderBol paymentOrderBol) {
return List.of(
TransactionInvolvement.builder()
.partyReference(
Party.builder()
.partyIdentification(List.of(
PartyIdentification.builder()
.partyIdentification(
Identifier.builder()
.identifierValue(paymentOrderBol.getEmitterReceptor())
.build()
)
.build()
))
.build()
)
.build()
);
}
private static FinancialTransaction buildBolFinancialTransaction(PaymentOrderBol paymentOrderBol) {
return FinancialTransaction.builder()
.amount(paymentOrderBol.getAmount())
.currencyCode(paymentOrderBol.getCurrency())
.build();
}
private static TransactionStatusType mapTransactionStatusType(String codeStatusRequest) { private static TransactionStatusType mapTransactionStatusType(String codeStatusRequest) {
if (codeStatusRequest == null) { if (codeStatusRequest == null) {
return TransactionStatusType.PENDING; return TransactionStatusType.PENDING;
@ -161,8 +83,7 @@ public class ServicingOrderMapper {
return switch (codeStatusRequest.toUpperCase()) { return switch (codeStatusRequest.toUpperCase()) {
case "PENDIENTE" -> TransactionStatusType.PENDING; case "PENDIENTE" -> TransactionStatusType.PENDING;
case "EXITO", "EXITOSA", "COMPLETADO", "FINALIZADO" -> TransactionStatusType.COMPLETED; case "EXITO", "EXITOSA", "COMPLETADO", "FINALIZADO" -> TransactionStatusType.COMPLETED;
case "APROBADO", "APROBADA" -> TransactionStatusType.APPROVED; case "APROBADO", "CONFIRMADO" -> TransactionStatusType.CONFIRMED;
case "CONFIRMADO", "CONFIRMADA" -> TransactionStatusType.CONFIRMED;
case "INICIADO" -> TransactionStatusType.INITIATED; case "INICIADO" -> TransactionStatusType.INITIATED;
case "EN_PROCESO", "PROCESANDO", "EN CURSO" -> TransactionStatusType.IN_PROGRESS; case "EN_PROCESO", "PROCESANDO", "EN CURSO" -> TransactionStatusType.IN_PROGRESS;
case "RECHAZADO", "FALLIDO" -> TransactionStatusType.REJECTED; case "RECHAZADO", "FALLIDO" -> TransactionStatusType.REJECTED;
@ -172,8 +93,7 @@ public class ServicingOrderMapper {
case "CONTABILIZADO" -> TransactionStatusType.BOOKED; case "CONTABILIZADO" -> TransactionStatusType.BOOKED;
case "EJECUTADO" -> TransactionStatusType.EXECUTED; case "EJECUTADO" -> TransactionStatusType.EXECUTED;
case "EXP" -> TransactionStatusType.EXPIRED; case "EXP" -> TransactionStatusType.EXPIRED;
case "ENVIADO", "ENVIADA" -> TransactionStatusType.SENT; case "ENVIADO" -> TransactionStatusType.SENT;
case "RECIBIDO", "RECIBIDA" -> TransactionStatusType.RECEIVED;
default -> TransactionStatusType.DEFAULT; default -> TransactionStatusType.DEFAULT;
}; };
} }

View File

@ -43,7 +43,7 @@ public class ServiceOrderPaymentSearchResource {
} }
@GET @GET
@Path("/retrieve/{partyReferenceId}/{channelCode}") @Path("/retrieve/{partyReferenceId}/{channelCode}/{signatureIdentifier}")
@Operation( @Operation(
summary = "Recuperar informacion de la transaccion", summary = "Recuperar informacion de la transaccion",
description = "Consulta de una trasanccion de pago por id de archivo" description = "Consulta de una trasanccion de pago por id de archivo"
@ -67,9 +67,8 @@ public class ServiceOrderPaymentSearchResource {
) )
} }
), ),
examples = { examples = @ExampleObject(
@ExampleObject( name = "Ejemplo exitoso",
name = "Ejemplo exitoso (BOLE)",
value = """ value = """
{ {
"data": { "data": {
@ -134,167 +133,7 @@ public class ServiceOrderPaymentSearchResource {
} }
} }
""" """
),
@ExampleObject(
name = "Ejemplo exitoso (BOL)",
value = """
{
"data": {
"servicingOrderProcedure": [
{
"transaction": {
"transactionIdentification": {
"identifierValue": "1"
},
"transactionStatus": {
"statusType": "APPROVED",
"statusName": "Aprobada"
},
"transactionDate": [
{
"dateType": "INITIATED_DATE",
"date": "2024-06-15T10:30:00Z"
}
],
"transactionInvolvement": [
{
"partyReference": {
"partyIdentification": [
{
"partyIdentification": {
"identifierValue": "V20132859"
}
}
]
}
}
],
"financialTransaction": {
"amount": 150.75,
"currencyCode": "VES"
},
"name": "Enviada",
"description": "cobro a pepito"
}
},
{
"transaction": {
"transactionIdentification": {
"identifierValue": "2"
},
"transactionStatus": {
"statusType": "PENDING",
"statusName": "Pendiente"
},
"transactionDate": [
{
"dateType": "INITIATED_DATE",
"date": "2024-06-16T14:49:00Z"
}
],
"transactionInvolvement": [
{
"partyReference": {
"partyIdentification": [
{
"partyIdentification": {
"identifierValue": "V20132859"
}
}
]
}
}
],
"financialTransaction": {
"amount": 350.0,
"currencyCode": "VES"
},
"name": "Recibida",
"description": "pago a proveedor"
}
},
{
"transaction": {
"transactionIdentification": {
"identifierValue": "3"
},
"transactionStatus": {
"statusType": "REJECTED",
"statusName": "Rechazado"
},
"transactionDate": [
{
"dateType": "INITIATED_DATE",
"date": "2024-06-17T09:15:00Z"
}
],
"transactionInvolvement": [
{
"partyReference": {
"partyIdentification": [
{
"partyIdentification": {
"identifierValue": "V20132859"
}
}
]
}
}
],
"financialTransaction": {
"amount": 200.0,
"currencyCode": "VES"
},
"name": "Enviada",
"description": "cobro a cliente"
}
},
{
"transaction": {
"transactionIdentification": {
"identifierValue": "4"
},
"transactionStatus": {
"statusType": "APPROVED",
"statusName": "Aprobada"
},
"transactionDate": [
{
"dateType": "INITIATED_DATE",
"date": "2024-06-18T11:20:00Z"
}
],
"transactionInvolvement": [
{
"partyReference": {
"partyIdentification": [
{
"partyIdentification": {
"identifierValue": "V20132859"
}
}
]
}
}
],
"financialTransaction": {
"amount": 750.0,
"currencyCode": "VES"
},
"name": "Recibida",
"description": "pago a proveedor"
}
}
]
},
"statusResponse": {
"statusCode": "200",
"message": "Operacion exitosa"
}
}
"""
) )
}
) )
), ),
@APIResponse( @APIResponse(
@ -433,21 +272,17 @@ public class ServiceOrderPaymentSearchResource {
@Parameter(description = "Codigo del canal (BOL, BOLE)", required = true, example = "BOLE") @Parameter(description = "Codigo del canal (BOL, BOLE)", required = true, example = "BOLE")
String channelCode, String channelCode,
@PathParam("signatureIdentifier")
@Parameter(description = "Firma del archivo", required = true, example = "f8c226f844339c55bf898162c5d7de5d8116cee6028e1b357414dcc686b3ea85")
String signatureIdentifier,
@QueryParam("customerReferenceFintechId") @QueryParam("customerReferenceFintechId")
@Parameter(description = "ID de la fintech", example = "pranical-test") @Parameter(description = "ID de la fintech", example = "pranical-test")
String customerReferenceFintechId, String customerReferenceFintechId,
@QueryParam("appId") @QueryParam("appId")
@Parameter(description = "ID de la aplicacion", example = "DANIAPP") @Parameter(description = "ID de la aplicacion", example = "DANIAPP")
String appId, String appId
@QueryParam("initiatedDate")
@Parameter(description = "Fecha de creación", example = "2024-06-15T10:30:00Z")
String initiatedDate,
@QueryParam("instructionRequestId")
@Parameter(description = "ID de la peticion de pago", example = "1")
String instructionRequestId
) { ) {
log.info("Iniciando consulta para instruccion de archivo id: {}", partyReferenceId); log.info("Iniciando consulta para instruccion de archivo id: {}", partyReferenceId);
@ -457,10 +292,7 @@ public class ServiceOrderPaymentSearchResource {
.customerReferenceFintechId(Objects.toString(customerReferenceFintechId, "")) .customerReferenceFintechId(Objects.toString(customerReferenceFintechId, ""))
.appId(Objects.toString(appId, "")) .appId(Objects.toString(appId, ""))
.procedureRequest(Instruction.fromResource( .procedureRequest(Instruction.fromResource(
partyReferenceId, partyReferenceId, channelCode, signatureIdentifier
initiatedDate,
instructionRequestId,
channelCode
)) ))
.build() .build()
)).build(); )).build();

View File

@ -1,19 +0,0 @@
package com.banesco.module.transaction.domain.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
import java.math.BigDecimal;
@Getter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class FinancialTransaction {
private BigDecimal amount; // BOL: amount
private String currencyCode; // BOL: currency
}

View File

@ -1,7 +1,6 @@
package com.banesco.module.transaction.domain.model; package com.banesco.module.transaction.domain.model;
import com.banesco.common.domain.model.Identifier; import com.banesco.common.domain.model.Identifier;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*; import lombok.*;
@ -13,14 +12,9 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@RegisterForReflection @RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Transaction { public class Transaction {
private Identifier transactionIdentification; // BOLE: nroRequest | BOL: id private Identifier transactionIdentification; // nroRequest
private TransactionStatus transactionStatus; // BOLE: status, accepted, rejected, expired | BOL: status private TransactionStatus transactionStatus; // status, accepted, rejected, expired
private List<TransactionDateTime> transactionDate; // BOLE: dispatchDate | BOL: dateCreate private List<TransactionDateTime> transactionDate; // dispatchDate
private TransactionDetails transactionDetails; // BOLE: quantity private TransactionDetails transactionDetails; // quantity
private List<TransactionInvolvement> transactionInvolvement; // BOL: emitterReceptor
private FinancialTransaction financialTransaction; // BOL: amount, currency
private String name; // BOL: requestType
private String description; // BOL: concept
} }

View File

@ -11,5 +11,5 @@ import lombok.*;
@RegisterForReflection @RegisterForReflection
public class TransactionDateTime { public class TransactionDateTime {
private TransactionDateTimeType dateType; private TransactionDateTimeType dateType;
private String date; // BOLE: dispatchDate | BOL: dateCreate private String date;
} }

View File

@ -1,6 +1,5 @@
package com.banesco.module.transaction.domain.model; package com.banesco.module.transaction.domain.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*; import lombok.*;
@ -12,7 +11,6 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@RegisterForReflection @RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TransactionDetails { public class TransactionDetails {
private BigDecimal transactionQuantity; // BOLE: quantity private BigDecimal transactionQuantity; // quantity
} }

View File

@ -1,17 +0,0 @@
package com.banesco.module.transaction.domain.model;
import com.banesco.module.party.domain.model.Party;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*;
@Getter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TransactionInvolvement {
private Party partyReference; // BOL: emitterReceptor
}

View File

@ -1,6 +1,5 @@
package com.banesco.module.transaction.domain.model; package com.banesco.module.transaction.domain.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.*; import lombok.*;
@ -10,11 +9,10 @@ import lombok.*;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@RegisterForReflection @RegisterForReflection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TransactionStatus { public class TransactionStatus {
private TransactionStatusType statusType; // BOLE: status | BOL: status private TransactionStatusType statusType; // status
private String statusName; // BOLE: status | BOL: status private String statusName; // status
private Long statusAccepted; // BOLE: accepted private Long statusAccepted; // accepted
private Long statusRejected; // BOLE: rejected private Long statusRejected; // rejected
private Long statusExpired; // BOLE: expired private Long statusExpired; // expired
} }

View File

@ -7,7 +7,6 @@ public enum TransactionStatusType {
EXECUTED, EXECUTED,
CANCELLED, CANCELLED,
CONFIRMED, CONFIRMED,
APPROVED,
SUSPENDED, SUSPENDED,
PENDING, PENDING,
COMPLETED, COMPLETED,
@ -16,5 +15,4 @@ public enum TransactionStatusType {
REJECTED, REJECTED,
EXPIRED, EXPIRED,
SENT, SENT,
RECEIVED,
} }

View File

@ -15,4 +15,4 @@ api:
key: 'dom-service-order-payment-search' key: 'dom-service-order-payment-search'
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"}]' 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"}]'
rest-client: rest-client:
payment-order-by-parameters: '{"url":"http://10.135.193.156:8080/RequestPayment/notificationRequestPayment/v1/querys/getGeneralRequestPayByParams/{signatureIdentifier}","timeout":{"connect":10000,"response":10000},"statusSuccess":"00"}' payment-status-by-id: '{"url":"http://10.135.193.156:8080/RequestPayment/notificationRequestPayment/v1/querys/getGeneralRequestPayByParams/{signatureIdentifier}","timeout":{"connect":10000,"response":10000},"statusSuccess":"00"}'

View File

@ -12,7 +12,7 @@ metadata:
annotations: annotations:
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
kubectl.kubernetes.io/last-applied-configuration: | kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","data":{"api.api.source-id":"DSOPS","api.dom-service-order-payment-search.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-service-order-payment-search.messages.key":"dom-service-order-payment-search","api.read-messages.from-props":"true","api.rest-client.payment-order-by-parameters":"{\"url\":\"http://10.135.193.156:8080/RequestPayment/notificationRequestPayment/v1/querys/getGeneralRequestPayByParams/{signatureIdentifier}\",\"timeout\":{\"connect\":10000,\"response\":10000},\"statusSuccess\":\"00\"}","quarkus.application.name":"dom-service-order-payment-search","quarkus.application.version":"1.0.0","quarkus.debug.print-startup-times":"true","quarkus.debug.reflection":"false","quarkus.http.idle-timeout":"30s","quarkus.http.non-application-root-path":"actuator","quarkus.http.port":"8080","quarkus.log.console.enable":"true","quarkus.log.console.format":"%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n","quarkus.log.level":"INFO","quarkus.profile":"dev","quarkus.smallrye-health.liveness-path":"/actuator/health/live","quarkus.smallrye-health.readiness-path":"/actuator/health/ready","quarkus.smallrye-health.root-path":"/actuator/health","quarkus.smallrye-health.ui.enable":"false","quarkus.smallrye-openapi.enable":"true","quarkus.smallrye-openapi.path":"/openapi","quarkus.swagger-ui.always-include":"true","quarkus.swagger-ui.path":"/swagger-ui","quarkus.thread-pool.core-threads":"1","quarkus.thread-pool.max-threads":"100"},"kind":"ConfigMap","metadata":{"annotations":{"argocd.argoproj.io/sync-options":"SkipDryRunOnMissingResource=true"},"app":"dom-service-order-payment-search","labels":{"app":"dom-service-order-payment-search","business_group":"Accounts"},"name":"configmap-dom-service-order-payment-search","namespace":"proyecto-prueba-ja"}} {"apiVersion":"v1","data":{"api.api.source-id":"DSOPS","api.dom-service-order-payment-search.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-service-order-payment-search.messages.key":"dom-service-order-payment-search","api.read-messages.from-props":"true","api.rest-client.payment-status-by-id":"{\"url\":\"http://10.135.193.156:8080/RequestPayment/notificationRequestPayment/v1/querys/getGeneralRequestPayByParams/{signatureIdentifier}\",\"timeout\":{\"connect\":10000,\"response\":10000},\"statusSuccess\":\"00\"}","quarkus.application.name":"dom-service-order-payment-search","quarkus.application.version":"1.0.0","quarkus.debug.print-startup-times":"true","quarkus.debug.reflection":"false","quarkus.http.idle-timeout":"30s","quarkus.http.non-application-root-path":"actuator","quarkus.http.port":"8080","quarkus.log.console.enable":"true","quarkus.log.console.format":"%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n","quarkus.log.level":"INFO","quarkus.profile":"dev","quarkus.smallrye-health.liveness-path":"/actuator/health/live","quarkus.smallrye-health.readiness-path":"/actuator/health/ready","quarkus.smallrye-health.root-path":"/actuator/health","quarkus.smallrye-health.ui.enable":"false","quarkus.smallrye-openapi.enable":"true","quarkus.smallrye-openapi.path":"/openapi","quarkus.swagger-ui.always-include":"true","quarkus.swagger-ui.path":"/swagger-ui","quarkus.thread-pool.core-threads":"1","quarkus.thread-pool.max-threads":"100"},"kind":"ConfigMap","metadata":{"annotations":{"argocd.argoproj.io/sync-options":"SkipDryRunOnMissingResource=true"},"app":"dom-service-order-payment-search","labels":{"app":"dom-service-order-payment-search","business_group":"Accounts"},"name":"configmap-dom-service-order-payment-search","namespace":"proyecto-prueba-ja"}}
managedFields: managedFields:
- manager: kubectl-client-side-apply - manager: kubectl-client-side-apply
operation: Update operation: Update
@ -35,7 +35,7 @@ metadata:
'f:quarkus.debug.print-startup-times': {} 'f:quarkus.debug.print-startup-times': {}
.: {} .: {}
'f:quarkus.swagger-ui.path': {} 'f:quarkus.swagger-ui.path': {}
'f:api.rest-client.payment-order-by-parameters': {} 'f:api.rest-client.payment-status-by-id': {}
'f:api.api.source-id': {} 'f:api.api.source-id': {}
'f:api.dom-service-order-payment-search.messages.key': {} 'f:api.dom-service-order-payment-search.messages.key': {}
'f:quarkus.smallrye-health.readiness-path': {} 'f:quarkus.smallrye-health.readiness-path': {}
@ -79,7 +79,7 @@ data:
quarkus.thread-pool.max-threads: '100' quarkus.thread-pool.max-threads: '100'
quarkus.smallrye-health.liveness-path: /actuator/health/live quarkus.smallrye-health.liveness-path: /actuator/health/live
quarkus.smallrye-health.root-path: /actuator/health quarkus.smallrye-health.root-path: /actuator/health
api.rest-client.payment-order-by-parameters: '{"url":"http://10.135.193.156:8080/RequestPayment/notificationRequestPayment/v1/querys/getGeneralRequestPayByParams/{signatureIdentifier}","timeout":{"connect":10000,"response":10000},"statusSuccess":"00"}' api.rest-client.payment-status-by-id: '{"url":"http://10.135.193.156:8080/RequestPayment/notificationRequestPayment/v1/querys/getGeneralRequestPayByParams/{signatureIdentifier}","timeout":{"connect":10000,"response":10000},"statusSuccess":"00"}'
quarkus.smallrye-openapi.enable: 'true' quarkus.smallrye-openapi.enable: 'true'
quarkus.smallrye-health.readiness-path: /actuator/health/ready quarkus.smallrye-health.readiness-path: /actuator/health/ready
quarkus.log.console.enable: 'true' quarkus.log.console.enable: 'true'