Package ru.bitel.bgbilling.plugins.dispatch.common.service

# Interface DispatchService

@MTOM public interface DispatchService

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addMessageInclusion(DispatchMessage dispatchMessage, jakarta.xml.ws.Holder<jakarta.activation.DataHandler> inclusion, String fileName)`
  Добавляет вложение в сообщение.
  `void`
  `addSubscriptions(String dispatchIds, String contractIds)`
  Добавляет подписки на выбранные рассылки в выбранные договоры.
  `void`
  `deleteContact(int contactId)`
  Удаляет контакт.
  `void`
  `deleteContactType(int contactTypeId)`
  Удаляет тип контакта.
  `void`
  `deleteDispatch(Dispatch dispatch)`
  Удаляет рассылку.
  `void`
  `deleteMessage(DispatchMessage dispatchMessage)`
  Удаление сообщения из рассылки.
  `void`
  `deleteMessageInclusion(DispatchMessage dispatchMessage, BGServerFile inclusion)`
  Удаляет вложение из сообщения.
  `void`
  `deleteSenderType(int id)`
  Удаляет метод отправки по его коду
  `void`
  `deleteSubscription(int subscriptionId)`
  Удаляет подписку
  `List<Subscription>`
  `getActiveSubscriptions(int dispatchId)`
  Возвращает список подписок
  `List<IdTitle>`
  `getAddressParamList()`
  Получение списка адресных параметров, которые заведены в параметрах договорах.
  `String`
  `getContactDefaultValue(int contactTypeId, int contractId)`
  `List<Contact>`
  `getContacts(int contractId)`
  Deprecated.
  Use `getContacts(int, Dispatch)` instead
  `List<Contact>`
  `getContacts(int contractId, Dispatch dispatch)`
  Возвращает список контактов, в том числе контакты из параметров договора.
  `List<ContactType>`
  `getContactTypes()`
  Возвращает список типов контактов
  `List<ContractContact>`
  `getContracts(String name, int typeId)`
  Получение списка договоров по контакту
  `String`
  `getCustomConditionCheckerIfaceName()`
  Получение имени интерфейса проверяльщика условия для пользовательского динамического класса.
  `List<Dispatch>`
  `getDispatchList()`
  Возвращает список всех рассылок.
  `List<BGServerFile>`
  `getMessageInclusions(DispatchMessage dispatchMessage)`
  Возвращает список вложений в сообщение
  `List<DispatchMessage>`
  `getMessageList(int dispatchId, boolean onlyNotSent)`
  Возвращает список сообщения для рассылки
  `SearchResult<DispatchMessageStatistic>`
  `getMessageStatisticList(int contractId, int dispatchId, int messageId, int contactId, Period period, Page page)`
  Получение статистики отправленных сообщений по договору и/или рассылке, и/или сообщению, и/или контакту за определенный период.
  `String`
  `getSenderIfaceClassName()`
  Возвращает имя интерфейса, который должен имплементировать новый создаваемый метод отправки
  `List<SenderType>`
  `getSenderTypes()`
  Возвращает методы отправки
  `List<Subscription>`
  `getSubscriptions(int dispatchId, int contractId)`
  Возвращает список подписок
  `List<String>`
  `installedModuleList()`
  Возвращает имена установленных модулей, сделано для обхода запрета "получения списка модулей"
  `void`
  `setEventForSubscription(int dispatchId, int contractId)`
  Устанавливает подпискам договора флаг события
  `void`
  `updateContact(Contact current)`
  Изменяет\создает новый контакт.
  `void`
  `updateContactType(ContactType current)`
  Изменяет\создает тип контакта
  `void`
  `updateDispatch(Dispatch dispatch)`
  Изменяет\создает рассылку
  `void`
  `updateMessage(DispatchMessage dispatchMessage)`
  Изменяет\создает сообщение
  `void`
  `updateSenderType(SenderType current)`
  Изменяет метод отправки
  `void`
  `updateSubscriptions(Subscription subscription)`
  Изменяет\создает подписку

- ## Method Details

  - ### getDispatchList

    List<Dispatch> getDispatchList() throws Exception
    Возвращает список всех рассылок.
    Returns:
      пустой список, если рассылки еще не были заведены
    Throws:
      `BGException`
      `Exception`

  - ### getMessageList

    List<DispatchMessage> getMessageList(int dispatchId, boolean onlyNotSent) throws Exception
    Возвращает список сообщения для рассылки
    Parameters:
      `did` - код рассылки
      `onlyNotSent` - выбрать только неотправленные
    Returns:
      пустой список, если сообщений в рассылке еще нет
    Throws:
      `BGException`
      `Exception`

  - ### updateDispatch

    void updateDispatch(Dispatch dispatch) throws Exception
    Изменяет\создает рассылку
    Parameters:
      `dispatch` - рассылка (id <= 0 для создания новой)
    Throws:
      `BGException`
      `BGMessageException` - если у существующей рассылки изменяется тип контактов
      `Exception`

  - ### updateMessage

    void updateMessage(DispatchMessage dispatchMessage) throws Exception
    Изменяет\создает сообщение
    Parameters:
      `dispatchMessage` - сообщение (id <= 0 для создания нового)
    Throws:
      `BGException`
      `Exception`

  - ### getMessageInclusions

    List<BGServerFile> getMessageInclusions(DispatchMessage dispatchMessage) throws Exception
    Возвращает список вложений в сообщение
    Parameters:
      `dispatchMessage` - сообщение
    Returns:
    Throws:
      `BGException`
      `Exception`

  - ### addMessageInclusion

    void addMessageInclusion(DispatchMessage dispatchMessage, jakarta.xml.ws.Holder<jakarta.activation.DataHandler> inclusion, String fileName) throws Exception
    Добавляет вложение в сообщение. Нельзя добавлять вложения в отправленные сообщения.
    Parameters:
      `dm` - сообщение
      `inclusion` - данные для вложения
      `fileName` - имя вложения
    Throws:
      `BGException`
      `Exception`

  - ### deleteMessageInclusion

    void deleteMessageInclusion(DispatchMessage dispatchMessage, BGServerFile inclusion) throws Exception
    Удаляет вложение из сообщения. Нельзя удалить вложение из отправленного сообщения.
    Parameters:
      `dm` - сообщение
      `inclusion` - вложение
    Throws:
      `BGException`
      `Exception`

  - ### deleteDispatch

    void deleteDispatch(Dispatch dispatch) throws Exception
    Удаляет рассылку. Удаление рассылки приводит к удалению всех шаблонов рассылки, всех сообщений рассылки и всех подписок на эту рассылку.
    Parameters:
      `dispatch` - рассылка
    Throws:
      `BGException`
      `Exception`

  - ### deleteMessage

    void deleteMessage(DispatchMessage dispatchMessage) throws Exception
    Удаление сообщения из рассылки. Невозможно удалить отправленное сообщение, только если не установлен флаг allow.delete.sent.messages=1 в конфигурации плагина.
    Parameters:
      `dm` - сообщение
    Throws:
      `BGException`
      `Exception`

  - ### updateContactType

    void updateContactType(ContactType current) throws Exception
    Изменяет\создает тип контакта
    Parameters:
      `current` - (id <= 0 для создания нового типа контакта)
    Throws:
      `BGException`
      `Exception`

  - ### deleteContactType

    void deleteContactType(int contactTypeId) throws Exception
    Удаляет тип контакта. Тип контакта может быть удален ТОЛЬКО если отсутствуют рассылки с таким типом.
    Parameters:
      `contactTypeId` - код типа контакта
    Throws:
      `BGException`
      `Exception`

  - ### getContactTypes

    List<ContactType> getContactTypes() throws Exception
    Возвращает список типов контактов
    Returns:
      пустой список, если типов контактов еще нет
    Throws:
      `BGException`
      `Exception`

  - ### getContacts

    @RequestWrapper(className="ru.bitel.bgbilling.plugins.dispatch.common.jaxws.GetContactsOldRequest") @ResponseWrapper(className="ru.bitel.bgbilling.plugins.dispatch.common.jaxws.GetContactsOldResponse") @Deprecated List<Contact> getContacts(int contractId) throws Exception
    Deprecated.
    Use `getContacts(int, Dispatch)` instead
    Throws:
      `Exception`

  - ### getContacts

    List<Contact> getContacts(int contractId, Dispatch dispatch) throws Exception
    Возвращает список контактов, в том числе контакты из параметров договора.
    Parameters:
      `contractId` - код договора
      `dispatch` -
    Returns:
    Throws:
      `BGException`
      `Exception`

  - ### updateContact

    void updateContact(Contact current) throws Exception
    Изменяет\создает новый контакт. Осуществляется проверка на соответствие шаблону типа контакта.
    Parameters:
      `current` - контакт (id <= 0 для созданиея нового)
    Throws:
      `BGException`
      `BGMessageException` - если проверка значения контакта по шаблону типа контакта не прошла
      `Exception`

  - ### deleteContact

    void deleteContact(int contactId) throws Exception
    Удаляет контакт. Проверяет наличие подписок для контакта перед удалением.
    Parameters:
      `id` -
    Throws:
      `BGException`
      `BGMessageException` - если контакт подписан на рассылки
      `Exception`

  - ### getContactDefaultValue

    String getContactDefaultValue(int contactTypeId, int contractId) throws Exception
    Throws:
      `Exception`

  - ### getSubscriptions

    List<Subscription> getSubscriptions(int dispatchId, int contractId) throws Exception
    Возвращает список подписок
    Parameters:
      `dispatchId` - если 0, то возвращает список всех подписок для договора
      `contractId` - если 0, то возвращает список всех подписок на рассылку
    Returns:
      пустой список, если таковых нет
    Throws:
      `BGException`
      `Exception`

  - ### getActiveSubscriptions

    List<Subscription> getActiveSubscriptions(int dispatchId) throws Exception
    Возвращает список подписок
    Parameters:
      `dispatchId` - если 0, то возвращает список всех подписок для договора
    Returns:
      пустой список, если таковых нет
    Throws:
      `BGException`
      `Exception`

  - ### deleteSubscription

    void deleteSubscription(int subscriptionId) throws Exception
    Удаляет подписку
    Parameters:
      `subscriptionId` - код подписки
    Throws:
      `BGException`
      `Exception`

  - ### updateSubscriptions

    void updateSubscriptions(Subscription subscription) throws Exception
    Изменяет\создает подписку
    Parameters:
      `subscription` - (id <= 0 для создания новой)
    Throws:
      `BGException`
      `BGMessageException` - если в подписке нет контактов
      `Exception`

  - ### addSubscriptions

    void addSubscriptions(String dispatchIds, String contractIds) throws Exception
    Добавляет подписки на выбранные рассылки в выбранные договоры. Используется в групповой операции. Подписка добавится только в том случае, если в договоре заведен контакт (-ы) с таким же типом контакта, который указан в рассылке.
    Parameters:
      `dispatchIds` - список кодов рассылок через запятую.
      `contractIds` - список кодов договоров через запятую, которым следует добавить подписки на рассылки.
    Throws:
      `BGException`
      `Exception`

  - ### getSenderTypes

    List<SenderType> getSenderTypes() throws Exception
    Возвращает методы отправки
    Returns:
    Throws:
      `BGException`
      `Exception`

  - ### getSenderIfaceClassName

    String getSenderIfaceClassName()
    Возвращает имя интерфейса, который должен имплементировать новый создаваемый метод отправки
    Returns:

  - ### updateSenderType

    void updateSenderType(SenderType current) throws Exception
    Изменяет метод отправки
    Parameters:
      `current` - создает при id <= 0
    Throws:
      `BGException`
      `Exception`

  - ### deleteSenderType

    void deleteSenderType(int id) throws Exception
    Удаляет метод отправки по его коду
    Parameters:
      `id` -
    Throws:
      `BGException`
      `Exception`

  - ### getAddressParamList

    List<IdTitle> getAddressParamList() throws Exception
    Получение списка адресных параметров, которые заведены в параметрах договорах. ИСпользуется в условии отправки по адресу подписчика
    Returns:
      список адресных параметров в виде `IdTitle`
    Throws:
      `BGException`
      `Exception`

  - ### getContracts

    List<ContractContact> getContracts(String name, int typeId) throws Exception
    Получение списка договоров по контакту
    Parameters:
      `name` - Строка для поиска
      `typeId` - Id типа контакта
    Returns:
    Throws:
      `Exception`

  - ### getCustomConditionCheckerIfaceName

    String getCustomConditionCheckerIfaceName() throws Exception
    Получение имени интерфейса проверяльщика условия для пользовательского динамического класса.
    Returns:
      полное имя интерфейса, включая имя пакета.
    Throws:
      `Exception`

  - ### setEventForSubscription

    void setEventForSubscription(int dispatchId, int contractId) throws Exception
    Устанавливает подпискам договора флаг события
    Parameters:
      `dispatchId` - код рассылки
      `contractId` - ид договора
    Throws:
      `BGException`
      `Exception`

  - ### getMessageStatisticList

    SearchResult<DispatchMessageStatistic> getMessageStatisticList(int contractId, int dispatchId, int messageId, int contactId, Period period, Page page) throws Exception
    Получение статистики отправленных сообщений по договору и/или рассылке, и/или сообщению, и/или контакту за определенный период.
    Parameters:
      `contractId` - код договора
      `dispatchId` - код рассылки
      `messageId` - код сообщения из рассылки
      `contactId` - код контакта плагина
      `period` - период, за который нужно вывести статистику
      `page` - отображаемая страница
    Throws:
      `BGException`
      `Exception`

  - ### installedModuleList

    List<String> installedModuleList() throws Exception
    Возвращает имена установленных модулей, сделано для обхода запрета "получения списка модулей"
    Returns:
    Throws:
      `Exception`