Class ExternalGetOltApiClient

java.lang.Object
org.bgerp.plugin.bgb.getolt.dao.ExternalGetOltApiClient

public class ExternalGetOltApiClient extends Object
Тонкий HTTP-прокси к External API standalone-сервиса GetOLT v2. Возвращает сырой JSON-body — никаких DTO, парсинг и рендер на клиенте. Используется вкладкой «Массовая авария» (ТЗ #11). Заголовок X-API-Key, один retry на 5xx/IOException.
  • Constructor Details

    • ExternalGetOltApiClient

      public ExternalGetOltApiClient(String baseUrl, String apiKey, int timeoutMs)
  • Method Details

    • listOltsByCity

      public String listOltsByCity(String city) throws IOException
      GET {base}/olts?city=...&size=100 — сырой JSON.
      Throws:
      IOException
    • oltStatistics

      public String oltStatistics() throws IOException
      GET {base}/olts/statistics — все OLT с per-port разбивкой ONU по статусу/сигналу. Один запрос вместо /olts + N×/olts/{ip}/ports.
      Throws:
      IOException
    • listOlts

      public String listOlts(String city, String operator) throws IOException
      GET {base}/olts?city=...&operator=...&size=100 — сырой JSON.
      Throws:
      IOException
    • listPorts

      public String listPorts(String ip) throws IOException
      GET {base}/olts/{ip}/ports — сырой JSON.
      Throws:
      IOException
    • listOnusByOlt

      public String listOnusByOlt(String ip) throws IOException
      GET {base}/onus?oltIp={ip}&size=2000 — все ONU OLT, сырой JSON.
      Throws:
      IOException
    • listOnusByPort

      public String listOnusByPort(String ip, int portNumber) throws IOException
      GET {base}/onus/olt/{ip}/port/{portNumber} — сырой JSON.
      Throws:
      IOException
    • refreshOlt

      public String refreshOlt(String ip) throws IOException
      POST {base}/actions/refresh/olt/{ip} — требует FULL ключ.
      Throws:
      IOException