Skip to content

Commit

Permalink
Issue #753
Browse files Browse the repository at this point in the history
Corretto vincolo check acquisizione RT gia' presente.
Risoluzioni segnalazioni sonar.
  • Loading branch information
pintorig committed Nov 26, 2024
1 parent 9d5d1b7 commit c7ed5e3
Show file tree
Hide file tree
Showing 50 changed files with 686 additions and 1,132 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,7 @@ public PagamentiPortaleDTOResponse inserisciPagamenti(PagamentiPortaleDTO pagame

// Esecuizione della chiamata verso PagoPA
try {
CartRequest cartRequest = CheckoutUtils.createCartRequest(log, configWrapper, pagamentiPortaleDTO.getUrlRitorno(), pagamentiPortaleDTO.getLingua(), versamenti, pagamentiPortaleDTO.getCodiceConvenzione(), email);
CartRequest cartRequest = CheckoutUtils.createCartRequest(log, configWrapper, pagamentiPortaleDTO.getUrlRitorno(), versamenti, pagamentiPortaleDTO.getCodiceConvenzione(), email);

Configurazione configurazione = new it.govpay.core.business.Configurazione().getConfigurazione();
Giornale giornale = configurazione.getGiornale();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,52 +19,52 @@
*/
package it.govpay.core.utils;

import java.io.IOException;
import java.util.Properties;

import org.slf4j.Logger;

import it.govpay.core.exceptions.ConfigException;

public class CSVSerializerProperties {

private Logger log = null;

private static final String propertiesPath = "/csv_serializer.properties";


private static CSVSerializerProperties instance;
private Properties reader;

private CSVSerializerProperties(Logger log) throws Exception{
this.log = log;

private CSVSerializerProperties(Logger log) throws ConfigException, IOException {
this.reader = new Properties();
java.io.InputStream properties = null;
try{
properties = CSVSerializerProperties.class.getResourceAsStream(CSVSerializerProperties.propertiesPath);
if(properties==null){
throw new Exception("Properties "+CSVSerializerProperties.propertiesPath+" not found");
throw new ConfigException("Properties "+CSVSerializerProperties.propertiesPath+" not found");
}
this.reader.load(properties);
properties.close();
}catch(java.io.IOException e) {
this.log.error("Riscontrato errore durante la lettura del file '"+CSVSerializerProperties.propertiesPath+"': "+e.getMessage(),e);
}catch(IOException e) {
LogUtils.logError(log, "Riscontrato errore durante la lettura del file '"+CSVSerializerProperties.propertiesPath+"': "+e.getMessage(),e);
try{
if(properties!=null)
properties.close();
}catch(Exception er){}
properties.close();
}catch(Exception er){
//donothing
}
throw e;
}
}



private static synchronized void initialize(org.slf4j.Logger log) throws Exception{
private static synchronized void initialize(org.slf4j.Logger log) throws ConfigException, IOException {

if(CSVSerializerProperties.instance==null)
CSVSerializerProperties.instance = new CSVSerializerProperties(log);

}

public static synchronized CSVSerializerProperties getInstance(org.slf4j.Logger log) throws Exception{
public static synchronized CSVSerializerProperties getInstance(org.slf4j.Logger log) throws ConfigException, IOException {

if(CSVSerializerProperties.instance==null)
CSVSerializerProperties.initialize(log);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public class CheckoutUtils {

private CheckoutUtils() {}

public static CartRequest createCartRequest(Logger log, BDConfigWrapper configWrapper, String returnUrl, String lang, List<Versamento> versamenti, String codiceConvenzione, String email) throws ServiceException, UnsupportedEncodingException{
public static CartRequest createCartRequest(Logger log, BDConfigWrapper configWrapper, String returnUrl, List<Versamento> versamenti, String codiceConvenzione, String email) throws ServiceException, UnsupportedEncodingException{
CartRequest cartRequest = new CartRequest();

log.debug("=== Richiesta Modello 1 SANP 3.2.1 ===");
Expand Down
20 changes: 10 additions & 10 deletions jars/core/src/main/java/it/govpay/core/utils/CtReceiptUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@

public class CtReceiptUtils extends NdpValidationUtils {

private static final String ERRORE_NUMERO_DI_PAGAMENTI_DIVERSO_DAL_NUMERO_DI_VERSAMENTI_PER_UNA_RICEVUTA_DI_TIPO_0 = "Numero di pagamenti diverso dal numero di versamenti per una ricevuta di tipo {0}";
private static Logger log = LoggerWrapperFactory.getLogger(CtReceiptUtils.class);

public static EsitoValidazione validaSemantica(PaGetPaymentRes ctRpt, PaSendRTReq ctRt) {
Expand All @@ -98,13 +99,13 @@ public static EsitoValidazione validaSemantica(PaGetPaymentRes ctRpt, PaSendRTRe
switch (ctRecepitOutcome) {
case OK:
if(ctReceipt.getTransferList().getTransfer().size() != ctPaymentPA.getTransferList().getTransfer().size()) {
esito.addErrore(MessageFormat.format("Numero di pagamenti diverso dal numero di versamenti per una ricevuta di tipo {0}", name), true);
esito.addErrore(MessageFormat.format(ERRORE_NUMERO_DI_PAGAMENTI_DIVERSO_DAL_NUMERO_DI_VERSAMENTI_PER_UNA_RICEVUTA_DI_TIPO_0, name), true);
return esito;
}
break;
case KO:
if(!ctReceipt.getTransferList().getTransfer().isEmpty() && ctReceipt.getTransferList().getTransfer().size() != ctPaymentPA.getTransferList().getTransfer().size()) {
esito.addErrore(MessageFormat.format("Numero di pagamenti diverso dal numero di versamenti per una ricevuta di tipo {0}", name), true);
esito.addErrore(MessageFormat.format(ERRORE_NUMERO_DI_PAGAMENTI_DIVERSO_DAL_NUMERO_DI_VERSAMENTI_PER_UNA_RICEVUTA_DI_TIPO_0, name), true);
return esito;
}
break;
Expand Down Expand Up @@ -224,8 +225,8 @@ public static Rpt acquisisciRT(String codDominio, String iuv, PaSendRTReq ctRt,
}

if(!acquisizioneDaCruscotto) {
if(rpt.getStato().equals(StatoRpt.RT_ACCETTATA_PA)) {
throw new NdpException(FaultPa.PAA_RECEIPT_DUPLICATA, MessageFormat.format("CtReceipt già acquisita in data {0}", rpt.getDataMsgRicevuta()), rpt.getCodDominio());
if(rpt.getStato().equals(StatoRpt.RT_ACCETTATA_PA) && rpt.getCcp().equals(receiptId)) {
throw new NdpException(FaultPa.PAA_RECEIPT_DUPLICATA, MessageFormat.format("CtReceipt {0} già acquisita in data {1}", ctReceipt, rpt.getDataMsgRicevuta()), rpt.getCodDominio());
}
}

Expand All @@ -247,7 +248,6 @@ public static Rpt acquisisciRT(String codDominio, String iuv, PaSendRTReq ctRt,
throw e;
}
} else {

try {
ctRpt = JaxbUtils.toPaGetPaymentResRPT(rpt.getXmlRpt(), false);
esito = CtReceiptUtils.validaSemantica(ctRpt, ctRt);
Expand All @@ -260,7 +260,7 @@ public static Rpt acquisisciRT(String codDominio, String iuv, PaSendRTReq ctRt,
if(acquisizioneDaCruscotto) {
// controllo esito validazione semantica
// controllo stato pagamento attuale se e' gia' stato eseguito allora non devo acquisire l'rt
//EsitoPagamento nuovoEsitoPagamento = it.govpay.model.Rpt.EsitoPagamento.toEnum(ctRt.getDatiPagamento().getCodiceEsitoPagamento());
//EsitoPagamento nuovoEsitoPagamento = it.govpay.model.Rpt.EsitoPagamento.toEnum(ctRt.getDatiPagamento().getCodiceEsitoPagamento())

switch (rpt.getEsitoPagamento()) {
case IN_CORSO:
Expand Down Expand Up @@ -491,14 +491,14 @@ public static Rpt acquisisciRT(String codDominio, String iuv, PaSendRTReq ctRt,
} catch (JAXBException | SAXException e) {
throw new ServiceException(e);
} catch (NotificaException | IOException e) {
log.error(MessageFormat.format("Errore acquisizione RT: {0}", e.getMessage()),e);
LogUtils.logError(log, MessageFormat.format("Errore acquisizione RT: {0}", e.getMessage()),e);

if(rptBD != null)
rptBD.rollback();

throw new ServiceException(e);
} catch (ServiceException e) {
log.error(MessageFormat.format("Errore acquisizione RT: {0}", e.getMessage()),e);
LogUtils.logError(log, MessageFormat.format("Errore acquisizione RT: {0}", e.getMessage()),e);

if(rptBD != null)
rptBD.rollback();
Expand Down Expand Up @@ -567,13 +567,13 @@ public static EsitoValidazione validaSemantica(PaGetPaymentV2Response ctRpt, PaS
switch (ctRecepitOutcome) {
case OK:
if(ctReceipt.getTransferList().getTransfer().size() != ctPaymentPA.getTransferList().getTransfer().size()) {
esito.addErrore(MessageFormat.format("Numero di pagamenti diverso dal numero di versamenti per una ricevuta di tipo {0}", name), true);
esito.addErrore(MessageFormat.format(ERRORE_NUMERO_DI_PAGAMENTI_DIVERSO_DAL_NUMERO_DI_VERSAMENTI_PER_UNA_RICEVUTA_DI_TIPO_0, name), true);
return esito;
}
break;
case KO:
if(!ctReceipt.getTransferList().getTransfer().isEmpty() && ctReceipt.getTransferList().getTransfer().size() != ctPaymentPA.getTransferList().getTransfer().size()) {
esito.addErrore(MessageFormat.format("Numero di pagamenti diverso dal numero di versamenti per una ricevuta di tipo {0}", name), true);
esito.addErrore(MessageFormat.format(ERRORE_NUMERO_DI_PAGAMENTI_DIVERSO_DAL_NUMERO_DI_VERSAMENTI_PER_UNA_RICEVUTA_DI_TIPO_0, name), true);
return esito;
}
break;
Expand Down
Loading

0 comments on commit c7ed5e3

Please sign in to comment.