Interface BonusService


public interface BonusService
  • Method Summary

    Modifier and Type Method Description
    int activateTO​(int contractId, int tariffOptionId, int modeId)
    Активация ТО с списанием бонусов в качестве оплаты.
    java.math.BigDecimal balance​(int contractId, java.util.Date date)  
    java.math.BigDecimal balanceAdvanced​(int contractId, java.util.Date date, java.lang.Integer chargId, boolean withFutureCharge)  
    java.util.List<BonusBalance> balanceList​(int contractId, java.util.Date date)  
    java.math.BigDecimal balanceNotActive​(int contractId, java.util.Date date)  
    java.math.BigDecimal bonusSummaMax​(int contractId, int contractChargeId, java.math.BigDecimal chargeSum, boolean bonusSum)
    Получение максиально возможной суммы для оплаты части расхода договора бонусами.
    java.math.BigDecimal bonusSummaMaxAdvanced​(int contractId, int contractChargeId, java.math.BigDecimal chargeSum, boolean bonusSum, java.math.BigDecimal MaxBonusSum)
    Получение максиально возможной суммы для оплаты части расхода договора бонусами которая зависет от выставленного макс. процента для данного типа расхода, бонусного баланса и MaxBonusSum.
    BonusCharge chargeBonus​(int contractChargeId)
    Вернет бонусный расхода по ид расхода договора.
    void chargeDeleteByContractChargeId​(int contractChargeId)
    Удаление бонусного расхода в соответсвии ид расхода договора.
    java.util.List<BonusCharge> chargeDetailsList​(int paymentId)  
    java.util.List<BonusCharge> chargeList​(int contractId, java.util.Date dateFrom, java.util.Date dateTo)  
    boolean chargeUpdate​(int contractId, BonusCharge charge)
    Создание,редактирование бонусного расхода
    boolean checkProgramPeriodOnCrossing​(BonusProgram bonusProgram)
    Проверка на пересечения нового периода бонусной программы с периодом программы у договоров(экземпляров данной программы).
    void extendPaymentsGroupOperation​(java.lang.String cids, Period paymentPeriod, java.util.Set<java.lang.Integer> paymentTypeSet, int typeExtend, java.lang.String valueExtend, boolean onlyActive)
    Групповая операция расширения периода действия бонусных платежей.
    java.lang.String getDataProgramOfContract​(int programId, int contractId)  
    boolean paymentDelete​(int paymentId)  
    java.util.List<BonusPayment> paymentDetailsList​(int chargeId)  
    java.util.List<BonusPayment> paymentList​(int contractId, java.util.Date dateFrom, java.util.Date dateTo)
    (Не путать dateFrom и dateTo с одноименными полями в BonusPayment)
    java.util.List<BonusPayment> paymentsNotActiveNow​(int cid)  
    boolean paymentTypeDelete​(int paymentId)
    Удаление типа платежа
    java.util.List<BonusPaymentType> paymentTypeList​(boolean usedOnly)  
    void paymentTypeUpdate​(BonusPaymentType paymentType)
    Обновление или создание типа прихода
    void paymentUpdate​(int contractId, BonusPayment payment)
    Создание бонусного платежа
    int percentOfBonus​(int contractChargeId)
    Вернет кол-во процентов которыми можно оплатить бонусами для данного расхода.
    boolean pluginInclude​(int contractId)  
    java.util.List<BonusContractProgram> programContractList​(int contractId)  
    void programContractUpdate​(BonusContractProgram contractProgram)
    Обновление или создание бонусной программы у договора.
    void programDelete​(int programId)
    Удаление бонусной программы.
    java.util.List<java.lang.Integer> programInContractList​(int idProgram, java.util.Date date)  
    java.util.List<BonusProgram> programList​(java.util.Date date)  
    MapHolder<java.lang.String,​java.lang.String> programTypeMap()  
    void programUpdate​(BonusProgram program)
    Обновление или создание бонусной программы.
    int rate()
    Вернет бонусный курс.
    java.lang.String treeNodeTitle​(int contractId)
    Получение значение для элемента дерева("Бонус") в договоре.Содержит текущий остаток бонусов, как активных так и ожидающих( разделены чере "/" )
    void updatePluginInclude​(int contractId, boolean include)
    Включение/выкл. плагина у договора.
    void updateProgramAndPluginIncludeGroupOperation​(java.util.List<BonusProgram> programs, java.lang.String cids, Period period, boolean include)
    Добавления бонусных программ, установка периода, вкл/выкл плагина у договоров для групповых операций.
  • Method Details

    • paymentTypeList

      java.util.List<BonusPaymentType> paymentTypeList​(boolean usedOnly) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      usedOnly - - если true то вернет только используемые
      Returns:
      - список типов бонусных платежей
      Throws:
      ru.bitel.bgbilling.common.BGException
    • paymentTypeUpdate

      void paymentTypeUpdate​(BonusPaymentType paymentType) throws ru.bitel.bgbilling.common.BGException
      Обновление или создание типа прихода
      Parameters:
      paymentType -
      Throws:
      ru.bitel.bgbilling.common.BGException
    • paymentTypeDelete

      boolean paymentTypeDelete​(int paymentId) throws ru.bitel.bgbilling.common.BGException
      Удаление типа платежа
      Parameters:
      paymentId -
      Returns:
      - true если тип был удален, иначе false
      Throws:
      ru.bitel.bgbilling.common.BGException
    • paymentList

      java.util.List<BonusPayment> paymentList​(int contractId, java.util.Date dateFrom, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException
      (Не путать dateFrom и dateTo с одноименными полями в BonusPayment)
      Parameters:
      cid - - номер договора
      dateFrom -
      dateTo -
      Returns:
      -  список бонусных платежей, где дата платежа находится в границах dateFrom и dateTo (dateFrom< date
      Throws:
      ru.bitel.bgbilling.common.BGException
    • paymentsNotActiveNow

      java.util.List<BonusPayment> paymentsNotActiveNow​(int cid) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора
      Returns:
      - вернет список платежей которые будут доступны для оплаты в будущем
      Throws:
      ru.bitel.bgbilling.common.BGException
    • chargeList

      java.util.List<BonusCharge> chargeList​(int contractId, java.util.Date dateFrom, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора
      dateFrom -
      dateTo -
      Returns:
      -  список бонусных расходов, где дата расхода находится в границах dateFrom и dateTo (dateFrom< date
      Throws:
      ru.bitel.bgbilling.common.BGException
    • chargeBonus

      BonusCharge chargeBonus​(int contractChargeId) throws ru.bitel.bgbilling.common.BGException
      Вернет бонусный расхода по ид расхода договора.
      Parameters:
      contractChargeId - - ид расхода
      Returns:
      - BonusCharge в случае успеха, иначе null.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • paymentUpdate

      void paymentUpdate​(int contractId, BonusPayment payment) throws ru.bitel.bgbilling.common.BGException
      Создание бонусного платежа
      Parameters:
      payment -
      Throws:
      ru.bitel.bgbilling.common.BGException
    • chargeUpdate

      boolean chargeUpdate​(int contractId, BonusCharge charge) throws ru.bitel.bgbilling.common.BGException
      Создание,редактирование бонусного расхода
      Parameters:
      cid - - номер договора
      charge -
      Returns:
      true - если средств хватило и расход был создан
      Throws:
      ru.bitel.bgbilling.common.BGException
    • activateTO

      int activateTO​(int contractId, int tariffOptionId, int modeId) throws ru.bitel.bgbilling.common.BGException
      Активация ТО с списанием бонусов в качестве оплаты. Списывается максимально возможная сумма(зависит от текущего бонусного баланса, а так же настроек плагина).
      Parameters:
      contractId - - код договора
      tariffOptionId - - код тарифной опции
      modeId - - код режима активации
      Returns:
      - код бонусного расхода
      Throws:
      ru.bitel.bgbilling.common.BGException - если: - указана ТО которую можно активировать только бонусами, но списать необходимую сумму не удалось.
      - баланс не положительный
      - неверно задан режим активации или опция
      - сумма у режима активации == 0
      - плагин выключен
      - недостаточно средств для снятия остатка на договоре
    • paymentDelete

      boolean paymentDelete​(int paymentId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      paymentId - - ид удаляемого платежа
      Throws:
      ru.bitel.bgbilling.common.BGException
    • chargeDeleteByContractChargeId

      void chargeDeleteByContractChargeId​(int contractChargeId) throws ru.bitel.bgbilling.common.BGException
      Удаление бонусного расхода в соответсвии ид расхода договора.
      Parameters:
      contractChargeId - - ид удаляемого расхода
      Throws:
      ru.bitel.bgbilling.common.BGException
    • paymentDetailsList

      java.util.List<BonusPayment> paymentDetailsList​(int chargeId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      chargeId -
      Returns:
      - вернет платежи из которых были списаны средства для данного расхода
      Throws:
      ru.bitel.bgbilling.common.BGException
    • chargeDetailsList

      java.util.List<BonusCharge> chargeDetailsList​(int paymentId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      paymentId -
      Returns:
      - вернет расходы которые списали средства из данного прихода
      Throws:
      ru.bitel.bgbilling.common.BGException
    • balanceList

      java.util.List<BonusBalance> balanceList​(int contractId, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      contractId - - номер договора
      date - - дата
      Returns:
      вернет список для таблицы баланса на конкретную дату
      Throws:
      ru.bitel.bgbilling.common.BGException
    • balance

      java.math.BigDecimal balance​(int contractId, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      contractId - - номер договора
      date - - дата
      Returns:
      - вернет бонусный баланс на конкретный момент.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • balanceAdvanced

      java.math.BigDecimal balanceAdvanced​(int contractId, java.util.Date date, java.lang.Integer chargId, boolean withFutureCharge) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора
      date - - на какую дату
      chargeId - - если не null, ид бонусного расхода который не будет учитываться.
      withFutureCharge - - если = true, то вернет баланс с учетом будущих расходов у приходов которые были активны на тот момент. Если баланс берется на текущий момент, то разницы не должно быть.
      Returns:
      вернет баланс на конкретную дату
      Throws:
      ru.bitel.bgbilling.common.BGException
    • balanceNotActive

      java.math.BigDecimal balanceNotActive​(int contractId, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора
      date - - дата
      Returns:
      - вернет ожидаемы быллы на конкретную дату
      Throws:
      ru.bitel.bgbilling.common.BGException
    • pluginInclude

      boolean pluginInclude​(int contractId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора.
      Returns:
      вернет true- если плагин включен у данного договора
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updatePluginInclude

      void updatePluginInclude​(int contractId, boolean include) throws ru.bitel.bgbilling.common.BGException
      Включение/выкл. плагина у договора.
      Parameters:
      cid - - номер договора.
      include - - если true то вкл. плагин у договора.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • percentOfBonus

      int percentOfBonus​(int contractChargeId) throws ru.bitel.bgbilling.common.BGException
      Вернет кол-во процентов которыми можно оплатить бонусами для данного расхода. Если возврощаемое значение равно 0 , то это равносильно запрету на оплату бонусами для данного расхода.
      Parameters:
      contractChargeId - - ид расхода договора
      Throws:
      ru.bitel.bgbilling.common.BGException
    • rate

      int rate()
      Вернет бонусный курс.
      Returns:
      кол-во бонусов к одному рублю(1руб.= rateBonus ).
    • bonusSummaMax

      java.math.BigDecimal bonusSummaMax​(int contractId, int contractChargeId, java.math.BigDecimal chargeSum, boolean bonusSum) throws ru.bitel.bgbilling.common.BGException
      Получение максиально возможной суммы для оплаты части расхода договора бонусами.
      Parameters:
      cid - номер договора.
      contractChargeId - - ид типа расхода договора, если он будет < 0, то макс. процент будет принят за 100%.
      chargeSum - планируемая(изначальная) сумма списания с договора.
      bonusSum - если true то вернет макс. возможную сумму бонусов иначе вернет макс. возможную сумму рублей(точнее в еденицах расхода) Влияет на maxSum.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • bonusSummaMaxAdvanced

      java.math.BigDecimal bonusSummaMaxAdvanced​(int contractId, int contractChargeId, java.math.BigDecimal chargeSum, boolean bonusSum, java.math.BigDecimal MaxBonusSum) throws ru.bitel.bgbilling.common.BGException
      Получение максиально возможной суммы для оплаты части расхода договора бонусами которая зависет от выставленного макс. процента для данного типа расхода, бонусного баланса и MaxBonusSum. Эта сумма не может быть меньше MaxBonusSum - иметь ввиду.
      Parameters:
      cid - номер договора.
      contractChargeId - - ид типа расхода договора, если он будет < 0, то макс. процент будет принят за 100%.
      chargeSum - планируемая(изначальная) сумма списания с договора.
      bonusSum - если true то вернет макс. возможную сумму бонусов иначе вернет макс. возможную сумму рублей(точнее в еденицах расхода) Влияет на maxSum.
      MaxBonusSum - - если не null, то возвращаемая сумма будет ограничена ею и процентом. То есть этим параметром можно задать минимум. ( maxSum - это либо рубли либо бонусы, соответсвует параметру bonusSum ).
      Throws:
      ru.bitel.bgbilling.common.BGException
    • treeNodeTitle

      java.lang.String treeNodeTitle​(int contractId) throws ru.bitel.bgbilling.common.BGException
      Получение значение для элемента дерева("Бонус") в договоре.Содержит текущий остаток бонусов, как активных так и ожидающих( разделены чере "/" )
      Parameters:
      cid - - номер договора.
      Returns:
      строка со значением.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • programTypeMap

      MapHolder<java.lang.String,​java.lang.String> programTypeMap() throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
    • programList

      java.util.List<BonusProgram> programList​(java.util.Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      date - - если date=null, то вернет все программы
      Returns:
      все бонусные программы активные на момент времени date.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • programUpdate

      void programUpdate​(BonusProgram program) throws ru.bitel.bgbilling.common.BGException
      Обновление или создание бонусной программы.
      Parameters:
      program -
      Throws:
      ru.bitel.bgbilling.common.BGException
    • programContractList

      java.util.List<BonusContractProgram> programContractList​(int contractId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора.
      Returns:
      список бонусных програм установленных для данного договора.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • programContractUpdate

      void programContractUpdate​(BonusContractProgram contractProgram) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
      Обновление или создание бонусной программы у договора.
      Parameters:
      contractProgram -
      Throws:
      ru.bitel.bgbilling.common.BGException
      ru.bitel.bgbilling.common.BGMessageException
    • checkProgramPeriodOnCrossing

      boolean checkProgramPeriodOnCrossing​(BonusProgram bonusProgram) throws ru.bitel.bgbilling.common.BGException
      Проверка на пересечения нового периода бонусной программы с периодом программы у договоров(экземпляров данной программы). Необходимо проверять при изменении периода бонусной программы.
      Parameters:
      program - - бонусная программа у который выставлен проверяемый период.
      Returns:
      - true если пересечение имеет место или program==null или период==null или dateFrom==null.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • programInContractList

      java.util.List<java.lang.Integer> programInContractList​(int idProgram, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      idProgram - - ид программы.
      date - - на какое время, если null то вернет за все время.
      Returns:
      список ид договоров у которых активна данная бонусная программа на момент date.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • programDelete

      void programDelete​(int programId) throws ru.bitel.bgbilling.common.BGException
      Удаление бонусной программы.
      Parameters:
      programId - - ид бонусной программы.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updateProgramAndPluginIncludeGroupOperation

      void updateProgramAndPluginIncludeGroupOperation​(java.util.List<BonusProgram> programs, java.lang.String cids, Period period, boolean include) throws ru.bitel.bgbilling.common.BGException
      Добавления бонусных программ, установка периода, вкл/выкл плагина у договоров для групповых операций. Если programs == null, то только вкл/выкл плагина.
      Parameters:
      programs - - список бонусных программ. Можно null или пустой список.
      cids - - договора через запятую.
      period - - период для программ. Можно null, если programs == null.
      include - - если true то плагин будет вкл. для данных договоров.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • extendPaymentsGroupOperation

      void extendPaymentsGroupOperation​(java.lang.String cids, Period paymentPeriod, java.util.Set<java.lang.Integer> paymentTypeSet, int typeExtend, java.lang.String valueExtend, boolean onlyActive) throws ru.bitel.bgbilling.common.BGException
      Групповая операция расширения периода действия бонусных платежей. Расширяет период только еще не до конца списанных платежей.
      Parameters:
      cids - - договора через запятую.
      paymentPeriod - - все платежи дата которых входит в данный период, будут расширены. Не может быть null.
      paymentTypeSet - - сет кодов типов платежей
      typeExtend - - тип расширения. 1 - до даты, 2 - на кол-во дней от даты завершения платежа
      valueExtend - - значение расширения. Если typeExtend = 1, то тут должна быть дата(dd.MM.yyyy), если typeExtend = 2, то число дней.
      onlyActive - - если true, то операция будет производиться только с платежами период которых еще не завершился
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getDataProgramOfContract

      java.lang.String getDataProgramOfContract​(int programId, int contractId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
      Throws:
      ru.bitel.bgbilling.common.BGException
      ru.bitel.bgbilling.common.BGMessageException