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)`
  `List<Bot>`
  `getBots()`
  Key - token бота, value - экземпляр бота
  `BotDialog`
  `getDialogByCommand(String command)`
  `BotDialog`
  `getDialogById(int dialogId)`
  `List<BotDialogElement>`
  `getDialogElements()`
  `List<BotDialogGroup>`
  `getDialogGroups()`
  `List<DialogProcessingWrapper>`
  `getDialogProcessingClasses()`
  `List<BotDialog>`
  `getDialogs()`
  `List<BotDialog>`
  `getDialogsByGroupId(int dialogGroupId)`
  Получение всех диалогов из группы
  `List<BotDialogElement>`
  `getElementsByIds(List<Integer> ids)`
  `List<BotDialogElement>`
  `getElementsOfDialog(int dialogId)`
  `byte[]`
  `getFile(int elementId)`
  `SearchResult<StatisticNote>`
  `getStatistic(Page page)`
  `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(List<BotDialogElement> elements)`
  `void`
  `updateDialogGroup(BotDialogGroup group)`
  `void`
  `updateDialogGroups(List<BotDialogGroup> groups)`
  `void`
  `updateSortPositionOfElements(Map<Integer,Integer> elementSorting)`
  Обновление сортировки

- ## Method Details

  - ### getBots

    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

    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(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

    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(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

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

  - ### getElementsOfDialog

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

  - ### getDialogGroups

    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(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

    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

    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(Map<Integer,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

    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`