Разработка:storages/accounts — различия между версиями
м (переименовал «Разработка: storages/accounts» в «Разработка:storages/accounts») |
|||
Строка 25: | Строка 25: | ||
===='''add_account($ptype, $pcode, $objectid, $code, $type, $name, $params, $status = 'active')'''==== | ===='''add_account($ptype, $pcode, $objectid, $code, $type, $name, $params, $status = 'active')'''==== | ||
− | + | Добавить новый счет в Справочник на основе переданных данных | |
''Аргументы:'' | ''Аргументы:'' | ||
Строка 38: | Строка 38: | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * | + | * int - id счета. |
* bool - false в случае ошибки. | * bool - false в случае ошибки. | ||
+ | |||
''Структура работы:'' | ''Структура работы:'' | ||
# Создаем и заполняем объект для добавления в БД | # Создаем и заполняем объект для добавления в БД | ||
− | # Проверяем, есть ли в БД счет с такими же параметрами | + | # Проверяем, есть ли в БД счет с такими же параметрами ( md5 от $params ). Если счет найден, то метод возвращает false. |
# Производим добавление в БД, Возвращаем результат выполнения. | # Производим добавление в БД, Возвращаем результат выполнения. | ||
Строка 61: | Строка 62: | ||
* $params(string) - уникальные параметры счета, Фильтрация по полю md5code. Метод сам преобразует параметры в md5 строку. | * $params(string) - уникальные параметры счета, Фильтрация по полю md5code. Метод сам преобразует параметры в md5 строку. | ||
* $status(string) - статус счета. Если не указан, то возвращает все не удаленные записи, Если параметр передан, то возвращает записи только указанного статуса. | * $status(string) - статус счета. Если не указан, то возвращает все не удаленные записи, Если параметр передан, то возвращает записи только указанного статуса. | ||
+ | |||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
* array - массив объектов, удовлетворяющих критериям. | * array - массив объектов, удовлетворяющих критериям. | ||
* bool - false в случае ошибки. | * bool - false в случае ошибки. | ||
+ | |||
''Структура работы:'' | ''Структура работы:'' | ||
# Метод формирует фрагмент sql - запроса. | # Метод формирует фрагмент sql - запроса. | ||
Строка 70: | Строка 73: | ||
===='''Приватные методы:'''==== | ===='''Приватные методы:'''==== | ||
− | ====''' | + | ===='''get_hash ($data)'''==== |
− | Возвращает md5-хэш из строки | + | Возвращает md5-хэш из строки или массива |
''Аргументы:'' | ''Аргументы:'' | ||
− | * $ | + | * $data(string|array) - строка параметра счета, или массив параметоров |
+ | |||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
* string - md5-хэш | * string - md5-хэш |
Текущая версия на 16:31, 1 декабря 2014
Плагин | |
Название | 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) - статус счета.
Возвращаемые значения:
- int - id счета.
- 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_hash ($data)
Возвращает md5-хэш из строки или массива
Аргументы:
- $data(string|array) - строка параметра счета, или массив параметоров
Возвращаемые значения:
- string - md5-хэш