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

# Interface VoiceAccountService

public interface VoiceAccountService

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `checkVoiceAccountIsActive(VoiceAccount voiceAccount)`
  `List<VoiceAccount>`
  `getVoiceAccounts(int deviceId)`
  Получение списка аккаунтов, к которым привязано определенное устройство.
  `int`
  `voiceAccountDelete(int accountId)`
  Удаление аккаунта по его коду в БД.
  `VoiceAccount`
  `voiceAccountGet(int accountId)`
  Получение одного конкретного аккаунта по его коду в БД.
  `List<VoiceAccount>`
  `voiceAccountList(int contractId, int contractObjectId, Period period)`
  Получение списка аккаунта с фильтрацией по договору.
  `void`
  `voiceAccountListDelete(List<Integer> accountIds)`
  `void`
  `voiceAccountPasswordGenerate(int accountId)`
  `void`
  `voiceAccountPeriodUpdate(int accountId, Date dateFrom, Date dateTo)`
  `void`
  `voiceAccountRelocate(int accountId, int toContractId)`
  `List<IdTitle>`
  `voiceAccountSpecTitleList()`
  `int`
  `voiceAccountTypeDelete(int accountTypeId)`
  Удаление типа аккаунта по его коду в БД.
  `VoiceAccountType`
  `voiceAccountTypeGet(int accountTypeId)`
  Получение одного конкретного типа аккаунта по его коду в БД.
  `List<VoiceAccountType>`
  `voiceAccountTypeList()`
  Получение списка типов аккаунта
  `int`
  `voiceAccountTypeUpdate(VoiceAccountType accountType)`
  Добавление/изменение типа аккаунта.
  `int`
  `voiceAccountUpdate(VoiceAccount account)`
  Добавление/изменение аккаунта.
  `Result<VoiceAccount>`
  `voiceSearchAccount(VoiceAccountSearchParam searchParam, Page page)`
  Поиск аккаунта по разным критериям поиска
  `int`
  `voiceSessionDetailOrderDelete(VoiceSessionDetailOrder order)`
  `List<VoiceSessionDetailOrder>`
  `voiceSessionDetailOrderList(int accountId, int contractId)`
  `void`
  `voiceSessionDetailOrderUpdate(VoiceSessionDetailOrder order)`

- ## Method Details

  - ### voiceAccountList

    List<VoiceAccount> voiceAccountList(int contractId, int contractObjectId, Period period) throws Exception
    Получение списка аккаунта с фильтрацией по договору.
    Parameters:
      `contractId` - код договора
      `contractObjectId` - код объекта
      `period` - код объекта
    Returns:
      список аккаунтов договора
    Throws:
      `Exception`

  - ### voiceAccountGet

    VoiceAccount voiceAccountGet(int accountId) throws Exception
    Получение одного конкретного аккаунта по его коду в БД.
    Parameters:
      `accountId` - код аккаунта
    Returns:
      аккаунт
    Throws:
      `Exception`

  - ### voiceAccountUpdate

    int voiceAccountUpdate(VoiceAccount account) throws Exception
    Добавление/изменение аккаунта. Если код аккаунта > 0, то произойдет обновление его полей, в противном случае - добавление нового аккаунта
    Parameters:
      `account` - аккаунт
    Returns:
      код добавленного/измененного аккаунта
    Throws:
      `Exception`

  - ### voiceAccountPeriodUpdate

    void voiceAccountPeriodUpdate(int accountId, Date dateFrom, Date dateTo) throws Exception
    Throws:
      `Exception`

  - ### voiceAccountPasswordGenerate

    void voiceAccountPasswordGenerate(int accountId) throws Exception
    Parameters:
      `accountId` -
    Throws:
      `BGException`
      `BGMessageException`
      `Exception`

  - ### voiceAccountDelete

    int voiceAccountDelete(int accountId) throws Exception
    Удаление аккаунта по его коду в БД.
    Parameters:
      `accountId` - код аккаунта
    Returns:
    Throws:
      `Exception`

  - ### getVoiceAccounts

    List<VoiceAccount> getVoiceAccounts(int deviceId) throws Exception
    Получение списка аккаунтов, к которым привязано определенное устройство.
    Parameters:
      `deviceId` - код устройства, по которому нужно отфильтровать список аккаунтов.
    Returns:
      список аккаунтов.
    Throws:
      `Exception`

  - ### voiceAccountTypeList

    List<VoiceAccountType> voiceAccountTypeList() throws Exception
    Получение списка типов аккаунта
    Returns:
      список типов аккаунта
    Throws:
      `Exception`

  - ### voiceAccountSpecTitleList

    List<IdTitle> voiceAccountSpecTitleList() throws Exception
    Throws:
      `Exception`

  - ### voiceAccountTypeGet

    VoiceAccountType voiceAccountTypeGet(int accountTypeId) throws Exception
    Получение одного конкретного типа аккаунта по его коду в БД.
    Parameters:
      `accountTypeId` - код аккаунта
    Returns:
    Throws:
      `Exception`

  - ### voiceAccountTypeUpdate

    int voiceAccountTypeUpdate(VoiceAccountType accountType) throws Exception
    Добавление/изменение типа аккаунта. Если код типа аккаунта > 0, то будут обновлены все поля уже существующего типа аккаунта, в противном случае - добавление нового типа аккаунта
    Parameters:
      `accountType` - тип аккаунта
    Returns:
      код добавленного/измененного типа аккаунта
    Throws:
      `Exception`

  - ### voiceAccountTypeDelete

    int voiceAccountTypeDelete(int accountTypeId) throws Exception
    Удаление типа аккаунта по его коду в БД.
    Parameters:
      `accountTypeId` - код типа аккаунта
    Returns:
    Throws:
      `Exception`

  - ### voiceSearchAccount

    Result<VoiceAccount> voiceSearchAccount(VoiceAccountSearchParam searchParam, Page page) throws Exception
    Поиск аккаунта по разным критериям поиска
    Parameters:
      `searchParam` - accountId поиск по id аккаунта. Передавайте -1, если поиск по id аккаунта не нужен login поиск по логину, соответствующему полю User-Name в радиус-запросах. Передавайте null, если поиск по логину не нужен number номер телефона, привязанный к аккаунту. typeId поиск по типу аккаунта. Соответствует id типа аккаунта из справочника типов аккаунтов title поиск по названию аккаунта, поле title
      `page` - номер и размер страницы для постраничного вывода информации
    Returns:
    Throws:
      `BGException`
      `BGMessageException`
      `Exception`

  - ### checkVoiceAccountIsActive

    void checkVoiceAccountIsActive(VoiceAccount voiceAccount) throws Exception
    Throws:
      `Exception`

  - ### voiceAccountListDelete

    void voiceAccountListDelete(List<Integer> accountIds) throws Exception
    Throws:
      `Exception`

  - ### voiceAccountRelocate

    void voiceAccountRelocate(int accountId, int toContractId) throws Exception
    Throws:
      `Exception`

  - ### voiceSessionDetailOrderList

    List<VoiceSessionDetailOrder> voiceSessionDetailOrderList(int accountId, int contractId) throws Exception
    Throws:
      `Exception`

  - ### voiceSessionDetailOrderUpdate

    void voiceSessionDetailOrderUpdate(VoiceSessionDetailOrder order) throws Exception
    Throws:
      `Exception`

  - ### voiceSessionDetailOrderDelete

    int voiceSessionDetailOrderDelete(VoiceSessionDetailOrder order) throws Exception
    Throws:
      `Exception`