ru.bitel.bgbilling.modules.mobimoney.server.bean

## Class TransactionManager

- java.lang.Object
- - ru.bitel.common.dao.AbstractDao<Transaction>
  - - ru.bitel.bgbilling.modules.mobimoney.server.bean.TransactionManager

- All Implemented Interfaces:
    java.lang.AutoCloseable

      public class TransactionManager
      extends ru.bitel.common.dao.AbstractDao<Transaction>

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ru.bitel.common.dao.AbstractDao

      `ru.bitel.common.dao.AbstractDao.ResultSetIterator`

  - ### Field Summary

    - ### Fields inherited from class ru.bitel.common.dao.AbstractDao

      `cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, logger, mid, moduleId, orderByPattern, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_LIMIT, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_WHERE, tableName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TransactionManager(java.sql.Connection con, int moduleId)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTransaction(Transaction transaction)` Добавление новой транзакции в БД.
    `boolean` | `checkPayment(int contractId, java.lang.String mobiPaymentId)` Проверяет, совершал ли указанный договор платеж с таким mobiPaymentId.
    `void` | `deleteServiceCode(java.util.List<java.lang.Integer> ids)`
    `protected Transaction` | `getFromRS(java.sql.ResultSet rs)`
    `java.util.List<MobiServiceCode>` | `getServiceCodeList()`
    `Transaction` | `getTransaction(java.lang.String mobiPaymentId)` Возвращает одну единственную транзакцию по ее коду.
    `void` | `searchTransactions(SearchResult<Transaction> searchResult, int contractId, java.lang.String contractTitle, java.lang.String status)` Универсальный метод, возвращающий список транзакций в зависимости от условий фильтра
    `protected void` | `updateImpl(Transaction transaction)` Этот метод каждый реализует сам со своей логикой.
    `void` | `updateServiceCode(MobiServiceCode mobiServiceCode)`
    `void` | `updateTransaction(Transaction transaction)` Обновление уже существующей транзакции.

    - ### Methods inherited from class ru.bitel.common.dao.AbstractDao

      `close, delete, deleteImpl, eq, get, getById, getImpl, getListFromRS, getSQLOrder, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, processException, recycle, setStatementParam, update`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TransactionManager

          public TransactionManager(java.sql.Connection con,
                                    int moduleId)

  - ### Method Detail

    - #### searchTransactions

          public void searchTransactions(SearchResult<Transaction> searchResult,
                                         int contractId,
                                         java.lang.String contractTitle,
                                         java.lang.String status)
                                  throws ru.bitel.bgbilling.common.BGException

      Универсальный метод, возвращающий список транзакций в зависимости от условий фильтра
      Parameters:
        `contractId` -
        `contractTitle` -
        `status` -
        `fromDate` -
        `toDate` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### checkPayment

          public boolean checkPayment(int contractId,
                                      java.lang.String mobiPaymentId)
                               throws ru.bitel.bgbilling.common.BGException

      Проверяет, совершал ли указанный договор платеж с таким mobiPaymentId. По-умолчанию стоит значение false как наиболее вероятный вариант развития событий
      Parameters:
        `contractId` - код договора
        `paymentID` - код транзакции
      Returns:
        true - если на договоре уже есть платеж в указанный момент времени, false - в противном случае.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getTransaction

          public Transaction getTransaction(java.lang.String mobiPaymentId)
                                     throws ru.bitel.bgbilling.common.BGException

      Возвращает одну единственную транзакцию по ее коду. Используется только на серверной стороне в случае, когда нужнжо обновить статус у уже имеющейся транзакции
      Parameters:
        `mobiPaymentId` - код транзакции на стороне сервиса
      Returns:
        существующая транзакция
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### addTransaction

          public void addTransaction(Transaction transaction)
                              throws ru.bitel.bgbilling.common.BGException

      Добавление новой транзакции в БД. В случае успеха транзакции присваивается идентификатор
      Parameters:
        `transaction` - добавляемая транзакция
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateTransaction

          public void updateTransaction(Transaction transaction)
                                 throws ru.bitel.bgbilling.common.BGException

      Обновление уже существующей транзакции. ВЫзывается в случае обновления статуса платежа и/или даты оплаты
      Parameters:
        `transaction` - обновляемая транзакция
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getServiceCodeList

          public java.util.List<MobiServiceCode> getServiceCodeList()
                                                             throws ru.bitel.bgbilling.common.BGException

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

    - #### updateServiceCode

          public void updateServiceCode(MobiServiceCode mobiServiceCode)
                                 throws ru.bitel.bgbilling.common.BGException

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

    - #### deleteServiceCode

          public void deleteServiceCode(java.util.List<java.lang.Integer> ids)
                                 throws ru.bitel.bgbilling.common.BGException

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

    - #### getFromRS

          protected Transaction getFromRS(java.sql.ResultSet rs)
                                   throws java.sql.SQLException,
                                          ru.bitel.bgbilling.common.BGException

      Specified by:
        `getFromRS` in class `ru.bitel.common.dao.AbstractDao<Transaction>`
      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### updateImpl

          protected void updateImpl(Transaction transaction)
                             throws ru.bitel.bgbilling.common.BGException

      Description copied from class: `ru.bitel.common.dao.AbstractDao`
      Этот метод каждый реализует сам со своей логикой.
      Для обновления вызывать update.
      Specified by:
        `updateImpl` in class `ru.bitel.common.dao.AbstractDao<Transaction>`
      Parameters:
        `transaction` - экземпляр модели
      Throws:
        `ru.bitel.bgbilling.common.BGException` - ошибки