ru.bitel.bgbilling.kernel.contract.api.common.service

## Interface ContractService

-     public interface ContractService

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `contractDomainUpdate(int contractId, int domainId)` Обновление домена договора
    `Contract` | `contractGet(int contractId)`
    `void` | `contractGroupAdd(int contractId, int contractGroupId)`
    `void` | `contractGroupRemove(int contractId, int contractGroupId)`
    `java.util.List<Contract>` | `contractList(java.lang.String title, java.lang.String comment, int fc, long groupMask, java.util.List<FilterEntityAttr> entityFilter, boolean subContracts, boolean closed, boolean hidden, javax.xml.ws.Holder<Page> page)`
    `java.lang.String` | `contractListByFilter(ContractFilters contractFilters, java.util.List<FilterEntityAttr> entityFilter, javax.xml.ws.Holder<Page> page)`
    `java.lang.String` | `contractModuleConfigGet(int contractId, int moduleId, java.lang.String key)`
    `void` | `contractModuleConfigSet(int contractId, int moduleId, java.lang.String key, java.lang.String value)` Установка параметра конфига модуля для договора.
    `EntityAttr` | `contractParameterGet(int contractId, int parameterId)` Получение параметра договора.
    `ru.bitel.bgbilling.kernel.contract.api.common.bean.parameter.ContractParameterGroup` | `contractParameterGroupGet(int id)` Deprecated. use `ContractParameterService.contractParameterGroupGet(int)`
    `java.util.List<ru.bitel.bgbilling.kernel.contract.api.common.bean.parameter.ContractParameterGroup>` | `contractParameterGroupList()` Deprecated. use `ContractParameterService.contractParameterGroupList()`
    `MapHolder<java.lang.Integer,EntityAttr>` | `contractParameterMap(int contractId, int paramGroupId)` Map параметров договора.
    `MapHolder<java.lang.Integer,EntityAttr>` | `contractParameterMapByType(int contractId, int parameterType)`
    `void` | `contractParameterUpdate(int contractId, EntityAttr parameter)` Добавление/обновление/удаление параметра договора.
    `int` | `contractPasswordOnceCheck(java.lang.String passwordOnce)` Вход по единоразовому паролю, сгенерированному при вызове contractPasswordReset
    `void` | `contractPasswordReset(int contractId, java.lang.String email)` Сброс пароля с отправкой нового на email.
    `void` | `contractPasswordUpdate(int contractId, java.lang.String password, boolean generate)` Установка нового пароля для ЛК договора.
    `java.util.List<Contract>` | `contractSubList(int contractId, int subMode, boolean withSuperCid)` Получение списка субдоговоров.
    `void` | `contractUpdate(int contractId, Contract contract)` Обновление уже существующего договора в БД.
    `boolean` | `hasModuleInstance(int contractId, int moduleId)` Проверка на наличие привязки указанного модуля к договору.
    `SearchResult<ru.bitel.bgbilling.kernel.contract.search.common.ContractHistoryRecord>` | `searchContractHistoryRecord(Page page)`
    `void` | `updateContractHistoryRecord(int contractId)`

- - ### Method Detail

    - #### contractGet

          Contract contractGet(int contractId)
                        throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `contractId` - - код договора.
      Returns:
        - договор или null, если договор отсутствует.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractUpdate

          void contractUpdate(int contractId,
                              Contract contract)
                       throws ru.bitel.bgbilling.common.BGException,
                              ru.bitel.bgbilling.common.BGMessageException,
                              ru.bitel.bgbilling.common.BGIllegalArgumentException,
                              ru.bitel.bgbilling.common.BGIllegalAccessException

      Обновление уже существующего договора в БД.
      Parameters:
        `contractId` - ID договора.
        `contract` - договор.
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### contractGroupAdd

          void contractGroupAdd(int contractId,
                                int contractGroupId)
                         throws ru.bitel.bgbilling.common.BGException,
                                ru.bitel.bgbilling.common.BGMessageException,
                                ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                ru.bitel.bgbilling.common.BGIllegalAccessException

      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### contractGroupRemove

          void contractGroupRemove(int contractId,
                                   int contractGroupId)
                            throws ru.bitel.bgbilling.common.BGException,
                                   ru.bitel.bgbilling.common.BGMessageException,
                                   ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                   ru.bitel.bgbilling.common.BGIllegalAccessException

      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### contractSubList

          java.util.List<Contract> contractSubList(int contractId,
                                                   int subMode,
                                                   boolean withSuperCid)
                                            throws ru.bitel.bgbilling.common.BGException

      Получение списка субдоговоров.
      Parameters:
        `contractId` - - код договора.
        `subMode` - - зависимый, независимый режим из KernelConst. Если subMode == -1, вернет все субдоговора.
        `withSuperCid` - - если == true, то в список добавится и супер договор в начало списка.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractList

          java.util.List<Contract> contractList(java.lang.String title,
                                                java.lang.String comment,
                                                int fc,
                                                long groupMask,
                                                java.util.List<FilterEntityAttr> entityFilter,
                                                boolean subContracts,
                                                boolean closed,
                                                boolean hidden,
                                                javax.xml.ws.Holder<Page> page)
                                         throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractListByFilter

          java.lang.String contractListByFilter(ContractFilters contractFilters,
                                                java.util.List<FilterEntityAttr> entityFilter,
                                                javax.xml.ws.Holder<Page> page)
                                         throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractPasswordUpdate

          void contractPasswordUpdate(int contractId,
                                      java.lang.String password,
                                      boolean generate)
                               throws ru.bitel.bgbilling.common.BGException

      Установка нового пароля для ЛК договора.
      Parameters:
        `contractId` - ID договора.
        `password` - пароль.
        `generate` - нужно ли сгенерировать автоматически, если true - то значение аргумента password игнорируется.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### hasModuleInstance

          boolean hasModuleInstance(int contractId,
                                    int moduleId)
                             throws ru.bitel.bgbilling.common.BGException

      Проверка на наличие привязки указанного модуля к договору.
      Parameters:
        `contractId` - код договора
        `moduleId` - код модуля
      Returns:
        true если экземпляр модуля привязан к договору, false - в противном случае.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractPasswordReset

          void contractPasswordReset(int contractId,
                                     java.lang.String email)
                              throws ru.bitel.bgbilling.common.BGException

      Сброс пароля с отправкой нового на email.
      Parameters:
        `contractId` -
        `email` - если указан, то происходит проверка что он совпадает с тем, что указан в договоре - иначе просто отправляет на тот что в договоре.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractPasswordOnceCheck

          int contractPasswordOnceCheck(java.lang.String passwordOnce)
                                 throws ru.bitel.bgbilling.common.BGException

      Вход по единоразовому паролю, сгенерированному при вызове contractPasswordReset
      Parameters:
        `passwordOnce` - единоразовый пароль
      Returns:
        ID договора или 0, если пароль не найден
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractParameterMap

          MapHolder<java.lang.Integer,EntityAttr> contractParameterMap(int contractId,
                                                                       int paramGroupId)
                                                                throws ru.bitel.bgbilling.common.BGException,
                                                                       ru.bitel.bgbilling.common.BGMessageException,
                                                                       ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                                                       ru.bitel.bgbilling.common.BGIllegalAccessException

      Map параметров договора.
      Если параметр не заведен (не указан, не добавлен), то данный параметр будет отсутствовать в результате. Примером может служить параметр типа флаг - отсутствие параметра означает false.
      Parameters:
        `contractId` - ID договора.
        `paramGroupId` - ID группы параметров договора `ContractParameterGroup`. Если значение >0, то выдаются параметры указанной группы, иначе - все параметры.
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### contractParameterGroupGet

          ru.bitel.bgbilling.kernel.contract.api.common.bean.parameter.ContractParameterGroup contractParameterGroupGet(int id)
                                                                                                                 throws ru.bitel.bgbilling.common.BGException,
                                                                                                                        ru.bitel.bgbilling.common.BGMessageException,
                                                                                                                        ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                                                                                                        ru.bitel.bgbilling.common.BGIllegalAccessException

      Deprecated. use `ContractParameterService.contractParameterGroupGet(int)`
      Получение группы параметров договора по ID.
      Parameters:
        `id` - ID группы параметров.
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### contractParameterGroupList

          java.util.List<ru.bitel.bgbilling.kernel.contract.api.common.bean.parameter.ContractParameterGroup> contractParameterGroupList()
                                                                                                                                  throws ru.bitel.bgbilling.common.BGException,
                                                                                                                                         ru.bitel.bgbilling.common.BGMessageException,
                                                                                                                                         ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                                                                                                                         ru.bitel.bgbilling.common.BGIllegalAccessException

      Deprecated. use `ContractParameterService.contractParameterGroupList()`
      Получение списка групп параметров договора.
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`
      See Also:
        `ContractParameterGroup}`

    - #### searchContractHistoryRecord

          SearchResult<ru.bitel.bgbilling.kernel.contract.search.common.ContractHistoryRecord> searchContractHistoryRecord(Page page)
                                                                                                                    throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateContractHistoryRecord

          void updateContractHistoryRecord(int contractId)
                                    throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractModuleConfigGet

          java.lang.String contractModuleConfigGet(int contractId,
                                                   int moduleId,
                                                   java.lang.String key)
                                            throws ru.bitel.bgbilling.common.BGException,
                                                   ru.bitel.bgbilling.common.BGMessageException,
                                                   ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                                   ru.bitel.bgbilling.common.BGIllegalAccessException

      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### contractModuleConfigSet

          void contractModuleConfigSet(int contractId,
                                       int moduleId,
                                       java.lang.String key,
                                       java.lang.String value)
                                throws ru.bitel.bgbilling.common.BGException,
                                       ru.bitel.bgbilling.common.BGMessageException,
                                       ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                       ru.bitel.bgbilling.common.BGIllegalAccessException

      Установка параметра конфига модуля для договора.
      Parameters:
        `contractId` - ID договора.
        `moduleId` - ID модуля.
        `key` - ключ.
        `value` - значение.
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### contractDomainUpdate

          void contractDomainUpdate(int contractId,
                                    int domainId)
                             throws ru.bitel.bgbilling.common.BGException,
                                    ru.bitel.bgbilling.common.BGMessageException,
                                    ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                    ru.bitel.bgbilling.common.BGIllegalAccessException

      Обновление домена договора
      Parameters:
        `contractId` - ID договора.
        `domainId` - ID домена.
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`
      See Also:
        `Domain}`

    - #### contractParameterUpdate

          void contractParameterUpdate(int contractId,
                                       EntityAttr parameter)
                                throws ru.bitel.bgbilling.common.BGException,
                                       ru.bitel.bgbilling.common.BGMessageException,
                                       ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                       ru.bitel.bgbilling.common.BGIllegalAccessException

      Добавление/обновление/удаление параметра договора. Удаление происходит в случае, если entityAttr null или значение внутри entityAttr пустое.
      Parameters:
        `contractId` - ID договора.
        `entityAttr` - параметр.
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`
      See Also:
        `EntityAttr}`, `EntityAttrText`

    - #### contractParameterGet

          EntityAttr contractParameterGet(int contractId,
                                          int parameterId)
                                   throws ru.bitel.bgbilling.common.BGException,
                                          ru.bitel.bgbilling.common.BGMessageException,
                                          ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                          ru.bitel.bgbilling.common.BGIllegalAccessException

      Получение параметра договора.
      Parameters:
        `contractId` - ID договора
        `parameterId` - ID параметра
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### contractParameterMapByType

          MapHolder<java.lang.Integer,EntityAttr> contractParameterMapByType(int contractId,
                                                                             int parameterType)
                                                                      throws ru.bitel.bgbilling.common.BGException,
                                                                             ru.bitel.bgbilling.common.BGMessageException,
                                                                             ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                                                             ru.bitel.bgbilling.common.BGIllegalAccessException

      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`