---
# System prepended metadata

title: DirectLink change request

---

# DirectLink change request


## Riepilogo


| Nome Attività                                                            | Stima gg coppia |
|:------------------------------------------------------------------------ |:---------------:|
| Dimensone paginazione come parametro esterno                             |        2        |
| Mantenere il valore di default a 20 per il vecchio portale di backoffice |        0        |
| Nuovi parametri di ricerca del DirectLink                                |       3,5       |
| **TOTALE**                                                               |      **6**      |



Errori da sistemare (IMHO) fuori offerta 

|                                                                                           | stima ggc |
|:----------------------------------------------------------------------------------------- |:---------:|
| Reset dei Campi dopo invio DirectLink                                                     |    0,5    |
| Correggere Template Messagio SMS, Labels e messaggio di errore in inglese                 |    0,5    |
| In caso di errore di sistema nell'invio massivo gestirlo nella UI e visualizzare problema |    0,5    |

----

# Analisi

## PAGINAZIONE comandata da parametro esterno** (max 1000)

per `terminali dei Merchant` che per `Ricerca Direct Link` 
* attualmente nel nuovo portale si può configurare la paginazione con valori (30 | 50 | 100 )


### Analisi

valore attualmente statico nella class `BackofficeJsonSearchController` (DEFAULT_PAGE_SIZE = 20)
valore attualemente statico nella class `MerchantTerminalsController` (PAGE_SIZE = 30)
* **STIMA** = 2 gg

## Mantenere il valore di default a 20 per il vecchio portale di backoffice

tutte le API da paginare sono diverse da quelle usate nel backoffice 

## Ricerca del DirectLink

* aggiunge la ricerca per numero di telefono (in analogia con la ricerca per email)
* aggiungere la possibilità di ricerca su una lista di terminalId
* **Analisi**
    * aggiunta campo numero telefono facile=0.5
    * aggiunta filtro su lista terminali
        * usare SingleCriteria.in come in DbTerminalFinder
            
```java                
	@Override
	protected ColumnList columns() {
		return new ColumnList(
				wrapWithTableName(baseColumn(TerminalsTable.TERMINAL_ID_COLUMN)),
				wrapWithTableName(baseColumn(TerminalsTable.MULTICURRENCY_ENABLED_COLUMN)));
	}

//...

public static Criteria createEnabledAndInMerchantIdsCriteria(List<String> merchantIds) {
    Criteria matchingMerchants = SingleCriteria.in(new Column(TerminalsTable.MERCHANT_ID_COLUMN), merchantIds);
    Criteria enabled = SingleCriteria.equal(new Column(TerminalsTable.ENABLED_COLUMN), "Y");
    return AllCriteriaInAnd.and(matchingMerchants, enabled);
}

```

**STIMA** 3+0.5 gg


## Reset campi dopo invio Direct Link

**Stima** 0.5




## Domande

* in quali condizioni|stati si può reinviare un DL?
    * resubmittedTime != null() || APPROVED || CAPTURED  || CANCELLED  || VOIDED
    
* verificare se il DirectLinkId può essere usato come ID:
    * Sì è un contatore SQL





##### tags: `Mercury` `DirectLink` `Stime`
---