Package ru.bitel.bgbilling.modules.botmanager.common.service

# Interface BotManagerService

    public interface BotManagerService

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `clearStatisticByBotId​(int botId)` | Удаляет статистику для бота.
  `void` | `clearStatisticByContractId​(int contractId)` |
  `void` | `deleteBot​(int botId)` |
  `void` | `deleteDialog​(BotDialog dialog)` |
  `void` | `deleteDialogElement​(BotDialogElement element)` |
  `void` | `deleteDialogGroup​(BotDialogGroup group)` |
  `java.util.List<Bot>` | `getBots()` | Key - token бота, value - экземпляр бота
  `BotDialog` | `getDialogByCommand​(java.lang.String command)` |
  `BotDialog` | `getDialogById​(int dialogId)` |
  `java.util.List<BotDialogElement>` | `getDialogElements()` |
  `java.util.List<BotDialogGroup>` | `getDialogGroups()` |
  `java.util.List<DialogProcessingWrapper>` | `getDialogProcessingClasses()` |
  `java.util.List<BotDialog>` | `getDialogs()` |
  `java.util.List<BotDialog>` | `getDialogsByGroupId​(int dialogGroupId)` | Получение всех диалогов из группы
  `java.util.List<BotDialogElement>` | `getElementsByIds​(java.util.List<java.lang.Integer> ids)` |
  `java.util.List<BotDialogElement>` | `getElementsOfDialog​(int dialogId)` |
  `byte[]` | `getFile​(int elementId)` |
  `SearchResult<StatisticNote>` | `getStatistic​(Page page)` |
  `java.util.List<StatisticNote>` | `getStatisticByContractId​(int contractId)` |
  `void` | `reloadDialogProcessingClasses()` | Обновляет список обработчиков диалогов
  `void` | `setFile​(BotDialogElement element, byte[] imageBytes)` |
  `void` | `updateBot​(Bot bot)` | Обновление данных бота.
  `void` | `updateDialog​(BotDialog dialog)` |
  `int` | `updateDialogElement​(BotDialogElement element)` |
  `void` | `updateDialogElements​(java.util.List<BotDialogElement> elements)` |
  `void` | `updateDialogGroup​(BotDialogGroup group)` |
  `void` | `updateDialogGroups​(java.util.List<BotDialogGroup> groups)` |
  `void` | `updateSortPositionOfElements​(java.util.Map<java.lang.Integer,​java.lang.Integer> elementSorting)` | Обновление сортировки

- ## Method Details

  - ### getBots

    java.util.List<Bot> getBots() throws ru.bitel.bgbilling.common.BGException
    Key - token бота, value - экземпляр бота
    Returns:
      список созданных ботов
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateBot

    void updateBot​(Bot bot) throws ru.bitel.bgbilling.common.BGException
    Обновление данных бота. Если он запущен, то обновление будет произведено сразу
    Parameters:
      `bot` - бот с изменёнными параметрами для обновления
    Throws:
      `ru.bitel.bgbilling.common.BGException` - в случае, если не удалось обновить конфигурацию бота

  - ### deleteBot

    void deleteBot​(int botId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDialogs

    java.util.List<BotDialog> getDialogs() throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDialogById

    BotDialog getDialogById​(int dialogId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDialogByCommand

    BotDialog getDialogByCommand​(java.lang.String command) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateDialog

    void updateDialog​(BotDialog dialog) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteDialog

    void deleteDialog​(BotDialog dialog) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDialogElements

    java.util.List<BotDialogElement> getDialogElements() throws ru.bitel.bgbilling.common.BGException
    Returns:
      список элементов для построения диалогов
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateDialogElement

    int updateDialogElement​(BotDialogElement element) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateDialogElements

    void updateDialogElements​(java.util.List<BotDialogElement> elements) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteDialogElement

    void deleteDialogElement​(BotDialogElement element) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getElementsByIds

    java.util.List<BotDialogElement> getElementsByIds​(java.util.List<java.lang.Integer> ids) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getElementsOfDialog

    java.util.List<BotDialogElement> getElementsOfDialog​(int dialogId) throws ru.bitel.bgbilling.common.BGException
    Returns:
      список элементов для указанного диалога
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDialogGroups

    java.util.List<BotDialogGroup> getDialogGroups() throws ru.bitel.bgbilling.common.BGException
    Returns:
      список групп диалогов
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateDialogGroup

    void updateDialogGroup​(BotDialogGroup group) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateDialogGroups

    void updateDialogGroups​(java.util.List<BotDialogGroup> groups) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteDialogGroup

    void deleteDialogGroup​(BotDialogGroup group) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDialogsByGroupId

    java.util.List<BotDialog> getDialogsByGroupId​(int dialogGroupId) throws ru.bitel.bgbilling.common.BGException
    Получение всех диалогов из группы
    Parameters:
      `dialogGroupId` - id группы диалогов
    Returns:
      вернёт список диалогов из группы, если переданный id = -1, вернёт диалоги не состоящие ни в какой группе
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### reloadDialogProcessingClasses

    void reloadDialogProcessingClasses() throws ru.bitel.bgbilling.common.BGException
    Обновляет список обработчиков диалогов
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDialogProcessingClasses

    java.util.List<DialogProcessingWrapper> getDialogProcessingClasses() throws ru.bitel.bgbilling.common.BGException
    Returns:
      список обработчиков диалогов
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getFile

    byte[] getFile​(int elementId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setFile

    void setFile​(BotDialogElement element, byte[] imageBytes) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateSortPositionOfElements

    void updateSortPositionOfElements​(java.util.Map<java.lang.Integer,​java.lang.Integer> elementSorting)
    Обновление сортировки
    Parameters:
      `elementSorting` - key - id элемента, value - его позиция при сортировке

  - ### getStatistic

    SearchResult<StatisticNote> getStatistic​(Page page) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getStatisticByContractId

    java.util.List<StatisticNote> getStatisticByContractId​(int contractId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### clearStatisticByBotId

    void clearStatisticByBotId​(int botId) throws ru.bitel.bgbilling.common.BGException
    Удаляет статистику для бота. Если передано -1, то будет очищена вся статистика
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### clearStatisticByContractId

    void clearStatisticByContractId​(int contractId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`