ru.bitel.bgbilling.modules.yamoney.server.bean

## Class TransactionManager

- java.lang.Object
- - ru.bitel.common.dao.AbstarctDaoConstant
  - - ru.bitel.common.dao.AbstractDao<B>
    - - ru.bitel.common.dao.AbstractIdDao<B>
      - - ru.bitel.bgbilling.server.bean.AbstractTransactionManager<Transaction>
        - - ru.bitel.bgbilling.modules.yamoney.server.bean.TransactionManager

- All Implemented Interfaces:
    java.lang.AutoCloseable

      public class TransactionManager
      extends AbstractTransactionManager<Transaction>

- - ### Nested Class Summary

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

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

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.Map<java.lang.String,java.lang.String>` | `fields`

    - ### Fields inherited from class ru.bitel.bgbilling.server.bean.AbstractTransactionManager

      `logger, moduleSetup`

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

      `cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, mid, moduleId, orderByPattern, tableName`

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

      `ERROR, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_LIMIT, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `carryOutPayment(Transaction transaction)` Deprecated.
    `void` | `deleteTransaction(int id)` Удаление платежа-транзакции из лога.
    `void` | `doCheckRequest(java.lang.String objectId)`
    `java.lang.String` | `doPaymentRequest(java.lang.String data, java.lang.String idempotenceKey)`
    `void` | `doTransaction(java.lang.String yandexId, java.lang.String status, java.math.BigDecimal sum, org.json.JSONObject resultJsonObject)`
    `java.lang.String` | `formatComment(java.lang.String pattern, Transaction transaction)` Форматируем камент из шаблона.
    `java.util.List<java.lang.String>` | `getCheckIds(int intervalMinute)`
    `int` | `getFirstYear(int cid)` Возвращает год, с которого были платежи для этого договора.
    `protected Transaction` | `getFromRS(java.sql.ResultSet rs)`
    `org.json.JSONObject` | `getPaymentRequestJSON(java.math.BigDecimal sum, int contractId, java.lang.String contractTitle)`
    `Transaction` | `getTransactionByYandexId(java.lang.String yandexId)`
    `Transaction` | `getTransactionForInvoice(long invoiceId)` Возвращает транзакцию по ид_транзакции платёжной системы.
    `void` | `searchTransactionList(SearchResult<Transaction> searchResult, int contractId, java.lang.String contractTitle)`
    `protected void` | `setConnectionTimeout(javax.net.ssl.HttpsURLConnection connection)`
    `protected void` | `updateImpl(Transaction transaction)`
    `void` | `updateTransaction(Transaction transaction)`

    - ### Methods inherited from class ru.bitel.bgbilling.server.bean.AbstractTransactionManager

      `doConnection, doConnection, psStatus, queryStatus, searchTransaction, searchTransaction`

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

      `delete, get, getAndDelete, getAndUpdate`

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

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

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

      `getSQLOrder`

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

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

- - ### Field Detail

    - #### fields

          public java.util.Map<java.lang.String,java.lang.String> fields

  - ### Constructor Detail

    - #### TransactionManager

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

  - ### Method Detail

    - #### searchTransactionList

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

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

    - #### getCheckIds

          public java.util.List<java.lang.String> getCheckIds(int intervalMinute)
                                                       throws ru.bitel.bgbilling.common.BGException

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

    - #### getTransactionForInvoice

          public Transaction getTransactionForInvoice(long invoiceId)
                                               throws ru.bitel.bgbilling.common.BGException

      Возвращает транзакцию по ид_транзакции платёжной системы. Используется в экзекутере при проверке есть ли уже платёж с такой транзакцией у нас в БД, ибо может быть повторный запрос.
      Parameters:
        `invoiceId` - одноимённый параметр.
      Returns:
        объект транзакция.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getTransactionByYandexId

          public Transaction getTransactionByYandexId(java.lang.String yandexId)
                                               throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `yandexId` - - код( например 22e12f66-000f-5000-8000-18db351245c7 )
      Returns:
        транзакция
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getFirstYear

          public int getFirstYear(int cid)
                           throws ru.bitel.bgbilling.common.BGException

      Возвращает год, с которого были платежи для этого договора. Если не было ничего, то возвращает текущий.
      Parameters:
        `cid` - контракт_ид
      Returns:
        четырёхзначное число - год
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### deleteTransaction

          public void deleteTransaction(int id)
                                 throws ru.bitel.bgbilling.common.BGException

      Удаление платежа-транзакции из лога. Не используется, кажется, пока.
      Parameters:
        `id` - ид платежа в таблице yamoney_transactions_$mid.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateTransaction

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

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

    - #### carryOutPayment

          @Deprecated
          public void carryOutPayment(Transaction transaction)
                                           throws ru.bitel.bgbilling.common.BGException

      Deprecated.
      Проведение платежа и занесение его в платежи договора.
      Parameters:
        `transaction` - транзакция, проверенная на нужность добавления
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### formatComment

          public java.lang.String formatComment(java.lang.String pattern,
                                                Transaction transaction)

      Форматируем камент из шаблона. Комментарий расхода для нашего биллинга.
      Parameters:
        `pattern` - шаблон
        `transaction` - платёж-транзакция
      Returns:
        строка-камент

    - #### 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,
                                    java.sql.SQLException

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

    - #### setConnectionTimeout

          protected void setConnectionTimeout(javax.net.ssl.HttpsURLConnection connection)

      Overrides:
        `setConnectionTimeout` in class `AbstractTransactionManager<Transaction>`

    - #### getPaymentRequestJSON

          public org.json.JSONObject getPaymentRequestJSON(java.math.BigDecimal sum,
                                                           int contractId,
                                                           java.lang.String contractTitle)

    - #### doPaymentRequest

          public java.lang.String doPaymentRequest(java.lang.String data,
                                                   java.lang.String idempotenceKey)

    - #### doCheckRequest

          public void doCheckRequest(java.lang.String objectId)

    - #### doTransaction

          public void doTransaction(java.lang.String yandexId,
                                    java.lang.String status,
                                    java.math.BigDecimal sum,
                                    org.json.JSONObject resultJsonObject)