Skip to main content

SNT CR - Elastyczny mechanizm uzupełniania danych sender/recipient oraz title

Maxime avatar
Written by Maxime
Updated over 4 months ago

Jak skonfigurować:

  • - utworzenie katalogu /app/mapping na hoście dockera

  • - do utworzonego katalogu nadać uprawnienia 660

  • - w compose w push service dodać linijkę w volumes /app/mapping:/app/mapping:z (do zrobienia po stronie Banqup - dostarczone w zgłoszeniu SAN-8)

  • -należy zrestartować kontener push service po tych zmianach

  • po zrestartowaniu kontenera push service należy przejść do katalogu /app/mapping i utworzyć podkatalogi dla każdego z banków z nazwą swiftCode (UPPER CASEM) oraz w każdym z podkatalogów utworzyć pliki o nazwie transactionMap.json

Przykład użycia:

Istnieją 3 funkcje:

  1. isEmpty - sprawdza czy wartość jest pusta, jak tak to wstaw jakąś wartość z value

  2. matchRegex - szuka podanego stringa w wartości (np. tytule transakcji) i jeśli występuje to wpisz wartość z value zamiast tego

  3. selectRegex - możliwość wycięcia wartości z danego pola i wstawienia do value
    np.

    [
      {
        "target": "Title",
        "value": "Transakcja kartą @{data.Transaction.Title}@, @{Helpers.selectRegex(data.Account.AccountName, \"^.{0,5}\")}@",
        "conditions": [
          "Helpers.matchRegex(data.Transaction.Title, \"^DATA TRANSAKCJI: [0-9-]+$\")",
          "data.Transaction.Title == \"Karta\"",
          "Helpers.isEmpty(data.Transaction.Title)"
        ]
      }
    ]

    Jeżeli zajdą warunki w conditions [] to w value wstaw to co w value - bedzie to złączenie stringów

    "Transakcja kartą

    jako stała wartość, potem wstawia tytuł z tytułu transakcji

    @{data.Transaction.Title}@

    i potem wycina z AccountName fragment tekstu i

    @{Helpers.selectRegex(data.Account.AccountName, \"^.{0,5}\")}@

W pliku /mapping/SWIFTCODE/transactionMap.json należy utworzyć jsona z mapowaniami i odpowiednimi warunkami, np.:

[{"target": "SenderAccount","value": "Uzupełniony SenderAccount w pushservice, a w bazie null","conditions": ["Helpers.isEmpty(data.Transaction.SenderAccount)"]}, {"target": "SenderAddress","value": "Szukamy stringa " pota to " w adresie sendera","conditions": ["Helpers.matchRegex(data.Transaction.SenderAddress, " ^ pota to ")"]}, {"target": "Title","value": "Tytuł pusty i dodatkowy warunek ? tr.Title : tr.TransactionType jak typ też pusty","conditions": ["Helpers.isEmpty(data.Transaction.Title) && Helpers.isEmpty(data.Transaction.TransactionType)"]}, {"target": "Title","value": "Waluta jest dobra","conditions": ["data.Transaction.Title == " WYMIANA WALUTY ""]},...// tu kolejne mapowania ...]
Did this answer your question?