ru.bitel.bgbilling.kernel.contract.limit.server.bean

## Class LimitManager

- java.lang.Object
- - ru.bitel.bgbilling.kernel.contract.limit.server.bean.LimitManager

-     public final class LimitManager
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `LimitManager.UserLimitMove`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.Object` | `limitMutex` чтобы при одновременном событии восстановления лимита по сроку и по оплате лимит не изменился два раза
    `static int` | `VPAY_EXPIRED`
    `static int` | `VPAY_NOT_PAYOFFED`
    `static int` | `VPAY_PARTIAL_PAYOFFED`
    `static int` | `VPAY_PAYOFFED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LimitManager(java.sql.Connection con)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `addMoveTask(LimitChangeTask task)`
    `void` | `cancelMoveTask(java.util.List<java.lang.Integer> taskIds)`
    `static void` | `clientPaymentEvent(java.sql.Connection con, PaymentEvent event)` Установка понижений лимита оплаченными по фа.
    `void` | `deleteMoveTaskAndLog(int taskId, int contractId, int userId)` Отмена задачи, очистка пользовательской статистики и логов
    `void` | `executeRestoreLimitTask(java.util.Calendar now, ContractDao contractDao, java.lang.String comment)`
    `ContractLimitParameters` | `getContractLimitParameters(Setup setup, Contract contract)` Deprecated.
    `ContractLimitParameters` | `getContractLimitParameters(Setup setup, Contract contract)`
    `java.util.List<LimitChangeTask>` | `getContractMoveTasks(int contractId)`
    `java.util.List<LimitChangeTask>` | `getFullTaskList()`
    `java.util.List<LimitManager.UserLimitMove>` | `getUserLimitMove(int cid, java.util.Calendar date1, java.util.Calendar date2)`
    `java.util.List<LimitManager.UserLimitMove>` | `getUserLimitMove(int cid, int yy, int mm)`
    `boolean` | `initRestoreLimitTask(java.util.Calendar date)`
    `static java.util.List<ContractLimitParameters>` | `load(Setup setup)`
    `void` | `lowLimit(int cid, java.math.BigDecimal sum, int days)` Временное понижение лимита.
    `void` | `searchContractLimitAvto(SearchResult<ContractLimitAvto> searchResult, int contractId, java.lang.String status)`
    `void` | `setLimitManageMode(int uid, int cid, int mode)`
    `void` | `updateContractLimit(int userId, java.math.BigDecimal limitValue, int contractId, java.lang.String comment, int days)`

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

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

- - ### Field Detail

    - #### VPAY_NOT_PAYOFFED

          public static final int VPAY_NOT_PAYOFFED

      See Also:
        Constant Field Values

    - #### VPAY_PARTIAL_PAYOFFED

          public static final int VPAY_PARTIAL_PAYOFFED

      See Also:
        Constant Field Values

    - #### VPAY_PAYOFFED

          public static final int VPAY_PAYOFFED

      See Also:
        Constant Field Values

    - #### VPAY_EXPIRED

          public static final int VPAY_EXPIRED

      See Also:
        Constant Field Values

    - #### limitMutex

          public static final java.lang.Object limitMutex

      чтобы при одновременном событии восстановления лимита по сроку и по оплате лимит не изменился два раза

  - ### Constructor Detail

    - #### LimitManager

          public LimitManager(java.sql.Connection con)

  - ### Method Detail

    - #### searchContractLimitAvto

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

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

    - #### getContractMoveTasks

          public java.util.List<LimitChangeTask> getContractMoveTasks(int contractId)

    - #### addMoveTask

          public int addMoveTask(LimitChangeTask task)
                          throws ru.bitel.bgbilling.common.BGException

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

    - #### cancelMoveTask

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

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

    - #### deleteMoveTaskAndLog

          public void deleteMoveTaskAndLog(int taskId,
                                           int contractId,
                                           int userId)

      Отмена задачи, очистка пользовательской статистики и логов
      Parameters:
        `taskId` -
        `contractId` -
        `userId` -

    - #### getFullTaskList

          public java.util.List<LimitChangeTask> getFullTaskList()

    - #### updateContractLimit

          public void updateContractLimit(int userId,
                                          java.math.BigDecimal limitValue,
                                          int contractId,
                                          java.lang.String comment,
                                          int days)

    - #### initRestoreLimitTask

          public boolean initRestoreLimitTask(java.util.Calendar date)

    - #### executeRestoreLimitTask

          public void executeRestoreLimitTask(java.util.Calendar now,
                                              ContractDao contractDao,
                                              java.lang.String comment)

    - #### clientPaymentEvent

          public static void clientPaymentEvent(java.sql.Connection con,
                                                PaymentEvent event)
                                         throws ru.bitel.bgbilling.common.BGException

      Установка понижений лимита оплаченными по фа.
      Parameters:
        `con` -
        `event` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### load

          public static final java.util.List<ContractLimitParameters> load(Setup setup)

    - #### getContractLimitParameters

          @Deprecated
          public ContractLimitParameters getContractLimitParameters(Setup setup,
                                                                                Contract contract)
                                                                         throws ru.bitel.bgbilling.common.BGException

      Deprecated.
      Использовать `getContractLimitParameters(Setup, ru.bitel.bgbilling.kernel.contract.api.common.bean.Contract)`
      Parameters:
        `setup` -
        `contract` - старый bean договора
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContractLimitParameters

          public ContractLimitParameters getContractLimitParameters(Setup setup,
                                                                    Contract contract)
                                                             throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `setup` -
        `contract` - новый bean договора
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### lowLimit

          public void lowLimit(int cid,
                               java.math.BigDecimal sum,
                               int days)
                        throws ru.bitel.bgbilling.common.BGException

      Временное понижение лимита.
      Parameters:
        `cid` - - код договора
        `sum` - - на какую сумму уменьшить лмиит
        `days` - - на сколько дней
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getUserLimitMove

          public java.util.List<LimitManager.UserLimitMove> getUserLimitMove(int cid,
                                                                             int yy,
                                                                             int mm)

    - #### getUserLimitMove

          public java.util.List<LimitManager.UserLimitMove> getUserLimitMove(int cid,
                                                                             java.util.Calendar date1,
                                                                             java.util.Calendar date2)

    - #### setLimitManageMode

          public void setLimitManageMode(int uid,
                                         int cid,
                                         int mode)