Разработка:storages/accounts
Версия от 08:55, 18 ноября 2014; Polikarpov (обсуждение | вклад) (переименовал «Разработка: storages/accounts» в «Разработка:storages/accounts»)
Плагин | |
Название | accounts |
Тип | storages |
Содержание
Таблица в базе данных
accounts - справочник счетов для учета биллинговых операций. Все операции по счетам хранятся в справочнике Разработка:storages/accentryes.
Подробный формат полей в таблице:
- id - идентификатор счета.
- plugintype - тип плагина-владельца счета.
- plugincode - код плагина владельца счета.
- code - код объекта в плагине (например, основной и бонусный счет).
- objectid - id объекта, к которому привязан счет.
- type - тип счета (asset - активный счет, passive - пассивный счет)
- createdate - UTC создания счета
- md5code - уникальный код счета для импорта-экспорта (если не задан - инициализируем уникальным значением на основе md5 от времени генерации, параметров счета и случайного числа).
- name - название счета (удобно в некоторых случаях для отображения, без обращения к плагину-владельцу).
- status - для мягкого удаления.
Дополнительные методы:
Публичные методы:
add_account($ptype, $pcode, $objectid, $code, $type, $name, $params, $status = 'active')
Добавляет новый счет в справочник.
Аргументы:
- $ptype(string) - Тип плагина-владельца.
- $pcode(string) - Код плагина-владельца.
- $objectid(int) - ID объекта - владельца.
- $code(string) - код счета (main , additional и тп.).
- $type(string) - тип счета (asset, passive и тп.).
- $name(string) - имя счета.
- $params(string) - параметры для определения уникальности счета.
- $status(string) - статус счета.
Возвращаемые значения:
- object - объект счета.
- bool - false в случае ошибки.
Структура работы:
- Создаем и заполняем объект для добавления в БД
- Проверяем, есть ли в БД счет с такими же параметрами? ( md5 от $params ). Если счет найден, то метод возвращает false.
- Производим добавление в БД, Возвращаем результат выполнения.
find_accounts($begindate = 0, $enddate = 0, $ptype = , $pcode = , $objectid = 0, $code = , $type = , $name = , $params = , $status = )
Возвращает счета, удовлетворяющие переданным параметрам. Если статус не указан, то фильтрует удаленные записи.
Аргументы:
- $begindate(int) - начальная дата создания договора. Unixtime. Возвращает записи, старше или равные этой дате
- $enddate(int) - конечная дата создания договора. Unixtime. Возвращает записи, младше или равные этой дате. В совокупности с первым параметром позволяют установить временной интервал.
- $ptype(string) - тип плагина-владельца. (storage, moodlib, im ...)
- $pcode(string) - код плагина-владельца.
- $objectid(int) - id объекта-владельца.
- $code(string) - код счета (main , additional и тп.).
- $type(string) - тип счета (asset, passive и тп.).
- $name(string) - имя счета.
- $params(string) - уникальные параметры счета, Фильтрация по полю md5code. Метод сам преобразует параметры в md5 строку.
- $status(string) - статус счета. Если не указан, то возвращает все не удаленные записи, Если параметр передан, то возвращает записи только указанного статуса.
Возвращаемые значения:
- array - массив объектов, удовлетворяющих критериям.
- bool - false в случае ошибки.
Структура работы:
- Метод формирует фрагмент sql - запроса.
- С помощью метода get_records_select получаем результат поиска в виде массива объектов.
Приватные методы:
get_md5 ($str)
Возвращает md5-хэш из строки
Аргументы:
- $str(string) - строка параметров счета
Возвращаемые значения:
- string - md5-хэш