java.lang.Object
ru.bitel.bgbilling.plugins.bonus.server.dao.BonusDao

public class BonusDao extends Object
  • Field Details

    • con

      protected Connection con
    • pluginTurnOn

      public static int pluginTurnOn
    • flagBalanceCanBeNegative

      public static final boolean flagBalanceCanBeNegative
      Флаг определяющий, можно ли уводить в минус.
  • Constructor Details

  • Method Details

    • getPaymentTypeList

      public List<BonusPaymentType> getPaymentTypeList(boolean usedOnly) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      usedOnly -
      Returns:
      - если usedOnly==true,то вернет только используемые
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getChargesLinkedPayments

      public List<BonusCharge> getChargesLinkedPayments(int cid, List<BonusPayment> paymentList, Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      paymentList -
      Returns:
      - вернет список расходов которые были повешаны на дынные приходы на конкретную дату.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updatePaymentType

      public void updatePaymentType(BonusPaymentType paymentType) throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deletePaymentType

      public void deletePaymentType(int paymentId) throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
    • isUsePaymentType

      public boolean isUsePaymentType(int paymentId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      paymentId -
      Returns:
      - true если есть платежи с таким типом
      Throws:
      ru.bitel.bgbilling.common.BGException
    • isUseChargeType

      public boolean isUseChargeType(int chargeId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      chargeId -
      Returns:
      - true если есть расходы с таким типом
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getPaymentList

      public List<BonusPayment> getPaymentList(int contractId, Date dateFrom, Date dateTo) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      contractId - - номер договора
      dateFrom - - от даты
      dateTo - - до даты
      Returns:
      вернет платежи в промежутке данных дат, есл и
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getPaymentsAll

      public List<BonusPayment> getPaymentsAll(int cid) throws ru.bitel.bgbilling.common.BGException
      Вернет все платежи для данного договора
      Parameters:
      cid -
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getPaymentsActiveAndPositive

      public List<BonusPayment> getPaymentsActiveAndPositive(int cid, Date date, HashMap<Integer,BigDecimal> residueSumMap) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      date - - на какой момент
      cid - - номер договора
      residueSumMap - - мап c остатками средств у платежей, можно передать null,если эти данные не нужны(ключ - id платежа, значение - остаток средсв у платежа).
      Returns:
      вернет активные(то есть dateFrom<date<dateTo) платежи на данное время и у которых еще положительный баланс.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getPaymentsActiveToDate

      public List<BonusPayment> getPaymentsActiveToDate(int cid, Date date, HashMap<Integer,BigDecimal> residueSumMap) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора
      date -
      residueSumMap - - мап c остатками средств у платежей, можно передать null,если эти данные не нужны(ключ - id платежа, значение - остаток средсв у платежа).
      Returns:
      - список платежей активные на дату - date
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getPaymentsToActiveInFuture

      public List<BonusPayment> getPaymentsToActiveInFuture(int contractId, Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      contractId - - номер договора
      date - - на дату(обычно текущее)
      Returns:
      - список платежей еще не активных на дынный момент
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getCharge

      public BonusCharge getCharge(int contractChargeId) throws ru.bitel.bgbilling.common.BGException
      Вернет бонусный расход который был повешан на конкретный расход договора.
      Parameters:
      contractChargeId - - ид расхода договора
      Returns:
      если результат успешный то BonusChargee, иначе  null.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getChargeList

      public List<BonusCharge> getChargeList(int contractId, Date dateFrom, Date dateTo) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      contractId - - номер договора
      dateFrom - - от даты
      dateTo - - до даты
      Returns:
      вернет список расходов в промежутке dateFrom и dateTo(с точностью до дня), если одна из дат == null, то вернет все
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getChargesAll

      public List<BonusCharge> getChargesAll(int contractId) throws ru.bitel.bgbilling.common.BGException
      Вернет все расходы
      Parameters:
      contractId -
      Returns:
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updatePayment

      public void updatePayment(int userId, int cid, BonusPayment payment) throws ru.bitel.bgbilling.common.BGException
      Создание платежа. После совершения платежа, в платеже будет реальный его id.
      Либо, если id > 0, обновление даты завершения платежа.
      Parameters:
      userId - - пользователь совершив
      cid - - код договора
      payment - - бонусный платеж
      Throws:
      ru.bitel.bgbilling.common.BGException
    • addCharge

      public void addCharge(int userId, int cid, BonusCharge charge) throws ru.bitel.bgbilling.common.BGException
      Добавление расхода
      Parameters:
      userId -
      cid - - номер договора
      charge - - расход. После добаления, id будет присвоено значение.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deletePayment

      public void deletePayment(int paymentId) throws ru.bitel.bgbilling.common.BGException
      Удаление прихода
      Parameters:
      paymentId - - ид прихода
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deleteCharge

      public void deleteCharge(int chargeId) throws ru.bitel.bgbilling.common.BGException
      Удаление расхода.
      Parameters:
      chargeId - - ид расхода
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deleteChargeAccordingToContractChargeId

      public void deleteChargeAccordingToContractChargeId(int contractChargeId) throws ru.bitel.bgbilling.common.BGException
      Удаление расхода по ид расхода договора.
      Parameters:
      chargeId - - ид расхода
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getPaymentDetailsList

      public List<BonusPayment> getPaymentDetailsList(int chargeId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      chargeId - - ид расхода
      Returns:
      вернет список платежей у которых данный расход списывал средства, в поле сумма у приходов будет сумма которую данный расход списал, а не сумма всего прихода.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getChargeDetailsList

      @Deprecated public List<BonusCharge> getChargeDetailsList(int paymentId) throws ru.bitel.bgbilling.common.BGException
      Deprecated.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getDetailsChargeList

      public List<BonusDetailCharge> getDetailsChargeList(int paymentId) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      paymentId - - ид бонусного платежа
      Returns:
      вернет список расходов которые списывали средства с данного прихода, поле суммы у расхода будет занесенно сумма расхода конкретно для этого прихода, а не та сумма которую списал данный расход.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deleteDeatails

      public void deleteDeatails(int id) throws ru.bitel.bgbilling.common.BGException
      Удаление деталей расхода по его ид.
      Parameters:
      id - - ид детали расхода.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • isUsePaymentsInDetailsTable

      public boolean isUsePaymentsInDetailsTable(int paymentId)
      Parameters:
      paymentId - - ид платежа
    • addDetailsItem

      public void addDetailsItem(int chargeId, int paymentId, BigDecimal sum) throws ru.bitel.bgbilling.common.BGException
      Добавит детали расхода, какую сумму какой расход списал с конкретного платежа.
      Parameters:
      chargeId - - ид расхода.
      paymentId - - ид прихода.
      sum - - сумма списание с данного расхода.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updateDetailsCharge

      public void updateDetailsCharge(int id, int paymentId, BigDecimal sum) throws ru.bitel.bgbilling.common.BGException
      Обновление записи bonus_details_charge.
      Parameters:
      id - - код bonus_details_charge. Не путать с bonus_contract_charge.
      paymentId - - код платежа с которого списывает данная часть расхода.
      sum - - сумма.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getBalance

      public BigDecimal getBalance(int cid, Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора
      date - - на какую дату
      Returns:
      вернет баланс на конкретную дату
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getBalance

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

      public BigDecimal getNotActiveBalanceStill(int cid, Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора
      date - - на какую дату
      Returns:
      - сумму еще не активных платежей, которые будут доступны в будущем
      Throws:
      ru.bitel.bgbilling.common.BGException
    • pluginInclude

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

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

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

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

      public BonusProgram getProgram(int id) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      id - - ид бонусной программы
      Returns:
      бонусную программу, если существует, иначе null.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getProgramList

      public List<BonusProgram> getProgramList(Date date, int programTypeId) throws ru.bitel.bgbilling.common.BGException
      Возврощает заведенные бонусные программы.
      Parameters:
      date - - вернет активные программы на эту дату, если = null, то вернет все програамы вне зависемости от активности.
      programTypeId - - вернет программы только данного типа, если = 0, то вернет все программы вне зависемости от типа.
      Returns:
      - список бонусных программ.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getProgramCotractList

      public List<BonusContractProgram> getProgramCotractList(int cid) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора.
      Returns:
      список бонусных програма у данного договора.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getProgramCotractList

      public List<BonusContractProgram> getProgramCotractList(int cid, int programTypeId, Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора.
      programTypeId - - тип программы. Если < 1, то вернет все программы. На момент создание метода существует только 2 типа программ: операционный=1 и динамический=2.
      date - - активную на дату, если передать null, то вернет за все время.
      Returns:
      список бонусных программ у данного договора.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updateProgramContract

      public void updateProgramContract(BonusContractProgram contractProgram) throws ru.bitel.bgbilling.common.BGException
      Обновление или добовление бонусной программы для договора.
      Parameters:
      contractProgram - - бонусная программа для договора.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • programInContractList

      @Deprecated public List<Integer> programInContractList(int idProgram, Date date) throws ru.bitel.bgbilling.common.BGException
      Deprecated.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getContractsOfThisProgram

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

      public boolean checkContractOnProgramType(int cid, int programType, Date date) throws ru.bitel.bgbilling.common.BGException
      Parameters:
      cid - - номер договора
      programType - - тип программы(пока статик поля в BonusProgram)
      date - на какую дату проверку
      Returns:
      если у договора есть активные программы с данным типом бонусной программы то true
      Throws:
      ru.bitel.bgbilling.common.BGException
    • deleteProgram

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

      public BonusProgramSpecification getProgramAction(BonusProgram bonusProgram)
      Получение программы действий для бонусной программы.
      Returns:
      соответствующий класс конкретной программы.
    • getProgramSpecificationForDynamicProgram

      public BonusProgramSpecification getProgramSpecificationForDynamicProgram(String className)
      Вернет спецификацию для динамической программы по ее полному имени.
      Returns:
      в случае успеха BonusProgramSpecification, иначе null.
    • updateDataProgramOfContract

      public void updateDataProgramOfContract(int programId, int contractId, Map<String,String> map) throws SQLException
      Сохранение/обновлене данных для договора по выбранной программе.
      Parameters:
      programId - - код программы.
      contractId - - код договора.
      map - - непосредственно сами данные которые нужно сохранить.
      Throws:
      SQLException
    • getDataProgramOfContract

      public Map<String,String> getDataProgramOfContract(int programId, int contractId) throws ru.bitel.bgbilling.common.BGException
      Получение мапа с данными для договора по выбранной программе.
      Parameters:
      programid - - код программы.
      contractId - - код договора.
      Returns:
      map с данными, всегда не null.
      Throws:
      SQLException
      ru.bitel.bgbilling.common.BGException