Разработка:storages/accounts
Версия от 09:48, 17 ноября 2014; Polikarpov (обсуждение | вклад) (Новая страница: «{{Infobox_Plugin | name = accounts | type = storages }} ===Таблица в базе данных=== ''accounts'' - справочник счетов для уче...»)
Плагин | |
Название | accounts |
Тип | storages |
Содержание
- 1 Таблица в базе данных
- 2 Дополнительные методы:
- 2.1 ```Публичные методы:```
- 2.2 ```add_account($ptype, $pcode, $objectid, $code, $type, $name, $params, $status = 'active')```
- 2.3 ```find_accounts($begindate = 0, $enddate = 0, $ptype = , $pcode = , $objectid = 0, $code = , $type = , $name = , $params = , $status = )```
- 2.4 ```Приватные методы:```
- 2.5 ```get_md5 ($str)```
Таблица в базе данных
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-хэш