ru.bitel.bgbilling.modules.inet.api.server.bean

## Class InetSessionDao

- java.lang.Object
- - ru.bitel.bgbilling.modules.inet.api.server.bean.InetSessionDao

-     public class InetSessionDao
      extends java.lang.Object

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `closeSession(long id, java.util.Date sessionStop)`
    `boolean` | `delete(long sessionId)`
    `InetSessionLog` | `getAsLog(java.util.List<InetServType> servTypeDirectory, long sessionId)`
    `java.lang.Object[]` | `getCall(InetConnection connection, java.util.Date connectionStart, long parentConnectionId)` Получение активной call сессии, если таковая есть в базе Она может там быть, если стартовала на другом accounting сервере.
    `static java.util.Map<java.lang.Integer,TrafficAmount>` | `getCountersFromDB(java.sql.Connection con, int moduleId, ru.bitel.bgbilling.modules.inet.runtime.InetServTypeRuntime servType, long sessionId)`
    `long` | `getNextSessionId()`
    `static InetSession` | `getSessionFromRS(java.sql.ResultSet rs)`
    `void` | `insert(InetSession b)`
    `java.util.List<InetSession>` | `list(long connectionId, int status)`
    `java.util.List<InetSessionLog>` | `listAsLog(java.util.List<InetServType> servTypeDirectory, java.util.Set<java.lang.Integer> deviceIds, java.util.Set<java.lang.Integer> servTypeIds, java.util.Set<java.lang.Integer> contractIds, java.util.Set<java.lang.Integer> servIds, java.util.Date timeFrom, java.util.Date timeTo, Page page, int idDivizor, int idRemainder, boolean onlyTopSessions)`
    `protected java.util.List<InetSessionLog>` | `listAsLog(java.util.List<InetServType> servTypeDirectory, java.util.Set<java.lang.Integer> deviceIds, java.util.Set<java.lang.Integer> servTypeIds, java.util.Set<java.lang.Integer> cids, java.lang.String contract, java.util.Set<java.lang.Integer> servIds, java.lang.String login, long sessionId, java.lang.String ip, java.lang.String callingStation, java.util.Date timeFrom, java.util.Date timeTo, Page page, int idDivizor, int idRemainder, boolean onlyTopSessions)`
    `java.util.List<InetSessionLog>` | `listAsLog(java.util.List<InetServType> servTypeDirectory, java.util.Set<java.lang.Integer> deviceIds, java.util.Set<java.lang.Integer> servTypeIds, java.util.Set<java.lang.Integer> contractIds, java.lang.String contract, java.util.Set<java.lang.Integer> servIds, java.lang.String login, java.lang.String ip, java.lang.String callingStation, java.util.Date timeFrom, java.util.Date timeTo, Page page, int idDivizor, int idRemainder, boolean onlyTopSessions)`
    `java.util.List<java.lang.Object>` | `listAuto(int deviceId, java.util.Set<java.lang.Integer> servTypeIds, java.util.Date date)` Получение auto сервисов и связанных auto сессий, если они есть.
    `java.util.List<java.lang.Object[]>` | `listCall(int deviceId, java.util.Set<java.lang.Integer> servTypeIds)` Список активных call сессий

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

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

- - ### Constructor Detail

    - #### InetSessionDao

          public InetSessionDao(java.sql.Connection con,
                                int moduleId)
                         throws ru.bitel.bgbilling.common.BGException

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

  - ### Method Detail

    - #### insert

          public void insert(InetSession b)
                      throws ru.bitel.bgbilling.common.BGException

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

    - #### getNextSessionId

          public long getNextSessionId()
                                throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### closeSession

          public boolean closeSession(long id,
                                      java.util.Date sessionStop)
                               throws ru.bitel.bgbilling.common.BGException

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

    - #### getSessionFromRS

          public static InetSession getSessionFromRS(java.sql.ResultSet rs)
                                              throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### list

          public java.util.List<InetSession> list(long connectionId,
                                                  int status)
                                           throws ru.bitel.bgbilling.common.BGException

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

    - #### listAuto

          public java.util.List<java.lang.Object> listAuto(int deviceId,
                                                           java.util.Set<java.lang.Integer> servTypeIds,
                                                           java.util.Date date)
                                                    throws ru.bitel.bgbilling.common.BGException

      Получение auto сервисов и связанных auto сессий, если они есть.
      Parameters:
        `deviceId` -
        `servTypeIds` -
        `date` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### listCall

          public java.util.List<java.lang.Object[]> listCall(int deviceId,
                                                             java.util.Set<java.lang.Integer> servTypeIds)
                                                      throws ru.bitel.bgbilling.common.BGException

      Список активных call сессий
      Parameters:
        `deviceId` - - код устройства - наса, к которому привязаны сессии (не сервисы, а сессии!)
        `servTypeIds` - - коды типов сервиса. обычно это все типы сервиса, у которых `InetServType.SESSION_INITIATION_CALL`
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getCall

          public java.lang.Object[] getCall(InetConnection connection,
                                            java.util.Date connectionStart,
                                            long parentConnectionId)
                                     throws ru.bitel.bgbilling.common.BGException

      Получение активной call сессии, если таковая есть в базе
      Она может там быть, если стартовала на другом accounting сервере.
      Или если занесена запись после удачной авторизации.
      Parameters:
        `deviceId` - - код устройства - наса, к которому привязаны сессии (не сервисы, а сессии!)
        `nasPort` -
        `inetServId` -
        `acctSessionId` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### listAsLog

          public java.util.List<InetSessionLog> listAsLog(java.util.List<InetServType> servTypeDirectory,
                                                          java.util.Set<java.lang.Integer> deviceIds,
                                                          java.util.Set<java.lang.Integer> servTypeIds,
                                                          java.util.Set<java.lang.Integer> contractIds,
                                                          java.util.Set<java.lang.Integer> servIds,
                                                          java.util.Date timeFrom,
                                                          java.util.Date timeTo,
                                                          Page page,
                                                          int idDivizor,
                                                          int idRemainder,
                                                          boolean onlyTopSessions)
                                                   throws ru.bitel.bgbilling.common.BGException

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

    - #### listAsLog

          public java.util.List<InetSessionLog> listAsLog(java.util.List<InetServType> servTypeDirectory,
                                                          java.util.Set<java.lang.Integer> deviceIds,
                                                          java.util.Set<java.lang.Integer> servTypeIds,
                                                          java.util.Set<java.lang.Integer> contractIds,
                                                          java.lang.String contract,
                                                          java.util.Set<java.lang.Integer> servIds,
                                                          java.lang.String login,
                                                          java.lang.String ip,
                                                          java.lang.String callingStation,
                                                          java.util.Date timeFrom,
                                                          java.util.Date timeTo,
                                                          Page page,
                                                          int idDivizor,
                                                          int idRemainder,
                                                          boolean onlyTopSessions)
                                                   throws ru.bitel.bgbilling.common.BGException

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

    - #### getAsLog

          public InetSessionLog getAsLog(java.util.List<InetServType> servTypeDirectory,
                                         long sessionId)
                                  throws ru.bitel.bgbilling.common.BGException

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

    - #### listAsLog

          protected java.util.List<InetSessionLog> listAsLog(java.util.List<InetServType> servTypeDirectory,
                                                             java.util.Set<java.lang.Integer> deviceIds,
                                                             java.util.Set<java.lang.Integer> servTypeIds,
                                                             java.util.Set<java.lang.Integer> cids,
                                                             java.lang.String contract,
                                                             java.util.Set<java.lang.Integer> servIds,
                                                             java.lang.String login,
                                                             long sessionId,
                                                             java.lang.String ip,
                                                             java.lang.String callingStation,
                                                             java.util.Date timeFrom,
                                                             java.util.Date timeTo,
                                                             Page page,
                                                             int idDivizor,
                                                             int idRemainder,
                                                             boolean onlyTopSessions)
                                                      throws ru.bitel.bgbilling.common.BGException

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

    - #### getCountersFromDB

          public static java.util.Map<java.lang.Integer,TrafficAmount> getCountersFromDB(java.sql.Connection con,
                                                                                         int moduleId,
                                                                                         ru.bitel.bgbilling.modules.inet.runtime.InetServTypeRuntime servType,
                                                                                         long sessionId)
                                                                                  throws ru.bitel.bgbilling.common.BGException

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

    - #### delete

          public boolean delete(long sessionId)
                         throws ru.bitel.bgbilling.common.BGException

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