Class McpCallLogDao

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.common.dao.AbstractDaoConstant
ru.bitel.bgbilling.plugins.mcp.server.dao.McpCallLogDao

public class McpCallLogDao extends ru.bitel.bgbilling.common.dao.AbstractDaoConstant
Запись вызова MCP в журнал — строку таблицы mcp_call_log (схема — modules/plugins.mcp/init). Решения о доступе здесь нет: его принимает McpPermissionChecker, мы только фиксируем результат.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     

    Fields inherited from class ru.bitel.bgbilling.common.dao.AbstractDaoConstant

    con, ERROR, fields, moduleId, SQL_ALL, SQL_AND, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_JOIN, SQL_LEFT_JOIN, SQL_LIMIT, SQL_NOT_IN, SQL_ON, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE, tableName
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Удаление записей журнала строго старше границы по столбцу ts.
    void
    log(McpCallLog entry)
    Запись вызова в журнал; исключение перехватывается и логируется, наружу метод ничего не бросает — журнал не должен ломать ответ.
    void
    search(McpLogFilter filter, SearchResult<McpCallLog> searchResult)
    Поиск по журналу вызовов с фильтром и пагинацией.

    Methods inherited from class ru.bitel.bgbilling.common.dao.AbstractDaoConstant

    getPeriod, getPlaceholders, getSQLOrder, getSQLOrderFields, getTableName, psSetDate, psSetDateOrNull, psSetInt, psSetIntOrNull, psSetPeriod, psSetString, psSetStringOrNull, psSetTimestampOrNull, queryAndIn, setStatementParam, sqlDelete, sqlDeleteBatch, sqlInsert, sqlInsertBatch, sqlInsertGetId, sqlInsertGetLongId, sqlInsertOnDuplicateKeyUpdate, sqlInsertSelect, sqlInsertUpdateById, sqlSelectCountAsInt, sqlUpdate, sqlUpdateBatch

    Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger

    error, error, error, getLogger, logError, logError, warn

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • McpCallLogDao

      public McpCallLogDao(Connection con)
  • Method Details

    • log

      public void log(McpCallLog entry)
      Запись вызова в журнал; исключение перехватывается и логируется, наружу метод ничего не бросает — журнал не должен ломать ответ.
      Parameters:
      entry - запись журнала; null не принимается
    • search

      public void search(McpLogFilter filter, SearchResult<McpCallLog> searchResult) throws SQLException
      Поиск по журналу вызовов с фильтром и пагинацией.

      Порядок записи — «новые сверху»: ts DESC, id DESC (id как дополнительная привязка, чтобы при одинаковом ts страницы не «прыгали»). recordCount — всего записей, удовлетворяющих фильтру.

      Parameters:
      filter - фильтрующие условия; null допустим и означает поиск без фильтра
      searchResult - объект результата, в который складываются найденные записи; null не принимается
      Throws:
      SQLException - ошибка доступа к базе
    • deleteOlderThan

      public int deleteOlderThan(Timestamp bound) throws SQLException
      Удаление записей журнала строго старше границы по столбцу ts. Границу вычисляет сервис из настройки mcp.log.retention.days.
      Parameters:
      bound - граница по столбцу ts: удаляются строки с ts меньше bound; null не принимается
      Returns:
      количество удалённых строк
      Throws:
      SQLException - ошибка доступа к базе