Skip to content

Commit

Permalink
NOD-841 ehub wip
Browse files Browse the repository at this point in the history
  • Loading branch information
mscattarella committed Jun 4, 2024
1 parent 6e18b4c commit db18dd8
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class FlowTx {
private String idFlusso;

@JsonProperty("DATA_ORA_FLUSSO")
private Instant dataOraFlusoo;
private Instant dataOraFlusso;

@JsonProperty("INSERTED_TIMESTAMP")
private Instant insertedTimestamp;
Expand Down
77 changes: 70 additions & 7 deletions src/main/java/it/gov/pagopa/fdr/service/psps/PspsService.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import it.gov.pagopa.fdr.repository.fdr.FdrPaymentPublishEntity;
import it.gov.pagopa.fdr.repository.fdr.FdrPublishEntity;
import it.gov.pagopa.fdr.repository.fdr.model.FdrStatusEnumEntity;
import it.gov.pagopa.fdr.repository.fdr.model.PaymentStatusEnumEntity;
import it.gov.pagopa.fdr.repository.fdr.projection.FdrInsertProjection;
import it.gov.pagopa.fdr.repository.fdr.projection.FdrPublishByPspProjection;
import it.gov.pagopa.fdr.repository.fdr.projection.FdrPublishRevisionProjection;
Expand All @@ -35,10 +36,7 @@
import jakarta.enterprise.context.ApplicationScoped;
import java.math.BigDecimal;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
import org.jboss.logging.Logger;
import org.jboss.logging.MDC;
Expand Down Expand Up @@ -366,7 +364,7 @@ public void publishByFdr(String action, String pspId, String fdr, boolean intern
reService.sendEvent(
ReInternal.builder()
.serviceIdentifier(AppVersionEnum.FDR003)
.created(Instant.now())
.created(now)
.sessionId(sessionId)
.eventType(EventTypeEnum.INTERNAL)
.fdrPhysicalDelete(false)
Expand All @@ -378,9 +376,74 @@ public void publishByFdr(String action, String pspId, String fdr, boolean intern
.fdrAction(FdrActionEnum.PUBLISH)
.build());

flowTxService.sendEvent(FlowTx.builder().build()); // FIXME popolare campi
flowTxService.sendEvent(
FlowTx.builder()
// .idFlusso() //FIXME ID_FLUSSO della tabella NODO_OFFLINE.RENDICONTAZIONE
// .dataOraFlusso() //FIXME DATA_ORA_FLUSSO della tabella NODO_OFFLINE.RENDICONTAZIONE
// .insertedTimestamp() //FIXME INSERTED_TIMESTAMP della tabella
// NODO_OFFLINE.RENDICONTAZIONE
.dataRegolamento(fdrEntity.getRegulationDate())
.identificativoUnivocoRegolamento(fdrEntity.getRegulation())
// .numeroTotalePagamenti() //FIXME i computed o quelli ricevuti da PSP?
// .importoTotalePagamenti() //FIXME i computed o quelli ricevuti da PSP?
// .idDominio() //FIXME ID_DOMINIO della tabella NODO_OFFLINE.RENDICONTAZIONE
// .psp() //FIXME PSP della tabella NODO_OFFLINE.RENDICONTAZIONE
// .intPsp() //FIXME INT_PSP della tabella NODO_OFFLINE.RENDICONTAZIONE
.uniqueId(String.format("%s%s%s", fdrEntity.getFdr(), fdrEntity.getFdrDate(), now))
.dataEsitoSingoloPagamentoList(
fdrPaymentPublishEntities.stream()
.map(FdrPaymentPublishEntity::getPayDate)
.toList())
.build());

reportedIuvService.sendEvent(
fdrPaymentPublishEntities.stream()
.map(
a ->
ReportedIuv.builder()
.identificativoUnivocoVersamento(a.getIuv())
.identificativoUnivocoRiscossione(a.getIur())
.singoloImportoPagato(BigDecimal.valueOf(a.getPay()))
.codiceEsitoSingoloPagamento(getValue(a.getPayStatus()))
.dataEsitoSingoloPagamento(a.getPayDate())
.indiceDatiSingoloPagamento(
a.getIndex().toString()) // FIXME index o idtransfer
.identificativoFlusso(fdrEntity.getFdr())
.dataOraFlusso(fdrEntity.getFdrDate())
.identificativoDominio(fdrEntity.getReceiver().getOrganizationId())
.identificativoPSP(fdrEntity.getSender().getPspId())
.identificativoIntermediarioPSP(fdrEntity.getSender().getPspBrokerId())
.uniqueId(UUID.randomUUID().toString())
.insertedTimestamp(now)
.build())
.toList());
}

protected Integer getValue(PaymentStatusEnumEntity paymentStatusEnumEntity) {
if (paymentStatusEnumEntity == null) {
return null;
}

int result = 0;
switch (paymentStatusEnumEntity) {
case EXECUTED:
result = 0;
break;
case REVOKED:
result = 3;
break;
case NO_RPT:
result = 9;
break;
case STAND_IN:
result = 4;
break;
case STAND_IN_NO_RPT:
result = 8;
break;
}

reportedIuvService.sendEvent(ReportedIuv.builder().build()); // FIXME popolare campi
return result;
}

@WithSpan(kind = SERVER)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@
import it.gov.pagopa.fdr.exception.AppException;
import it.gov.pagopa.fdr.service.reportedIuv.model.ReportedIuv;
import jakarta.enterprise.context.ApplicationScoped;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.jboss.logging.Logger;

Expand Down Expand Up @@ -45,15 +43,14 @@ public void init() {
.buildProducerClient();
}

public final void sendEvent(ReportedIuv... list) {
public final void sendEvent(List<ReportedIuv> list) {
if (this.producer == null) {
log.debugf("EventHub re [%s] NOT INITIALIZED", eHubName);
} else {
List<EventData> allEvents =
Arrays.stream(list)
list.stream()
.map(
l -> {
l.setUniqueId(UUID.randomUUID().toString());
try {
log.debugf("EventHub name [%s] send message: %s", eHubName, l.toString());
return new EventData(objectMapper.writeValueAsString(l));
Expand Down

0 comments on commit db18dd8

Please sign in to comment.