Разработка:storages/accounts — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(Новая страница: «{{Infobox_Plugin | name = accounts | type = storages }} ===Таблица в базе данных=== ''accounts'' - справочник счетов для уче...»)
 
 
(не показаны 2 промежуточные версии этого же участника)
Строка 21: Строка 21:
 
===Дополнительные методы:===
 
===Дополнительные методы:===
  
====```Публичные методы:```====
+
===='''Публичные методы:'''====
  
====```add_account($ptype, $pcode, $objectid, $code, $type, $name, $params, $status = 'active')```====
+
===='''add_account($ptype, $pcode, $objectid, $code, $type, $name, $params, $status = 'active')'''====
  
Добавляет новый счет в справочник.
+
Добавить новый счет в Справочник на основе переданных данных
  
 
''Аргументы:''
 
''Аргументы:''
Строка 38: Строка 38:
  
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* object - объект счета.
+
* int - id счета.
 
* bool - false в случае ошибки.
 
* bool - false в случае ошибки.
 +
 
''Структура работы:''
 
''Структура работы:''
 
# Создаем и заполняем объект для добавления в БД
 
# Создаем и заполняем объект для добавления в БД
# Проверяем, есть ли в БД счет с такими же параметрами? ( md5 от $params ). Если счет найден, то метод  возвращает false.
+
# Проверяем, есть ли в БД счет с такими же параметрами ( md5 от $params ). Если счет найден, то метод  возвращает false.
 
# Производим добавление в БД, Возвращаем результат выполнения.
 
# Производим добавление в БД, Возвращаем результат выполнения.
  
  
====```find_accounts($begindate = 0, $enddate = 0, $ptype = '', $pcode = '', $objectid = 0, $code = '', $type = '', $name = '', $params = '', $status = '')```====
+
===='''find_accounts($begindate = 0, $enddate = 0, $ptype = '', $pcode = '', $objectid = 0, $code = '', $type = '', $name = '', $params = '', $status = '')'''====
  
 
Возвращает счета, удовлетворяющие переданным параметрам. Если статус не указан, то фильтрует удаленные записи.
 
Возвращает счета, удовлетворяющие переданным параметрам. Если статус не указан, то фильтрует удаленные записи.
Строка 61: Строка 62:
 
* $params(string) - уникальные параметры счета, Фильтрация по полю md5code. Метод сам преобразует параметры в md5 строку.
 
* $params(string) - уникальные параметры счета, Фильтрация по полю md5code. Метод сам преобразует параметры в md5 строку.
 
* $status(string) - статус счета. Если не указан, то возвращает все не удаленные записи, Если параметр передан, то возвращает записи только указанного статуса.
 
* $status(string) - статус счета. Если не указан, то возвращает все не удаленные записи, Если параметр передан, то возвращает записи только указанного статуса.
 +
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
 
* array - массив объектов, удовлетворяющих критериям.
 
* array - массив объектов, удовлетворяющих критериям.
 
* bool - false в случае ошибки.
 
* bool - false в случае ошибки.
 +
 
''Структура работы:''
 
''Структура работы:''
 
# Метод формирует фрагмент sql - запроса.
 
# Метод формирует фрагмент sql - запроса.
 
# С помощью метода get_records_select получаем результат поиска в виде массива объектов.
 
# С помощью метода get_records_select получаем результат поиска в виде массива объектов.
  
====```Приватные методы:```====
+
===='''Приватные методы:'''====
  
====```get_md5 ($str)```====
+
===='''get_hash ($data)'''====
  
Возвращает md5-хэш из строки
+
Возвращает md5-хэш из строки или массива
  
 
''Аргументы:''
 
''Аргументы:''
* $str(string) - строка параметров счета
+
* $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 в случае ошибки.

Структура работы:

  1. Создаем и заполняем объект для добавления в БД
  2. Проверяем, есть ли в БД счет с такими же параметрами ( md5 от $params ). Если счет найден, то метод возвращает false.
  3. Производим добавление в БД, Возвращаем результат выполнения.


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 в случае ошибки.

Структура работы:

  1. Метод формирует фрагмент sql - запроса.
  2. С помощью метода get_records_select получаем результат поиска в виде массива объектов.

Приватные методы:

get_hash ($data)

Возвращает md5-хэш из строки или массива

Аргументы:

  • $data(string|array) - строка параметра счета, или массив параметоров

Возвращаемые значения:

  • string - md5-хэш