Версия: 6.x
burger close
Класс TransactionApi
Граф наследования:TransactionApi:
EntityList BaseModel

Подробное описание

API функции для работы с танзакциями

Открытые члены

 __construct ()
 
 createReceipt (Transaction $transaction, $operation_type= 'sell')
 
 createTransactionFromOrder ($order_num)
 
 createTransactionForAddFunds ($user_id, $payment_id, $cost, $reason= '')
 
 addFunds ($user_id, $amount, $writeoff, $reason, $ckeck_rights=true, $entity=null, $entity_id=null, $payment_id=0)
 
 recognizeTransactionFromRequest ($payment_type, HttpRequest $request)
 
 setPersonalAccountTransactionsFilter ()
 
 isExistsTransactionForOrder ($order_id)
 
 updateTransactionFromOrder (Order $order)
 
- Открытые члены унаследованные от EntityList
 __construct (AbstractObject $orm_element, array $options=[])
 
 setDefaultOrder ($order)
 
 getNameField ()
 
 setNameField ($field)
 
 setAliasField ($field)
 
 setSortField ($field)
 
 setIdField ($field)
 
 getIdField ()
 
 getSiteIdField ()
 
 setLoadOnDelete ($bool)
 
 setSiteContext ($site_id=null)
 
 getSiteContext ()
 
 setMultisite ($bool)
 
 isMultisite ()
 
 resetQueryObject ()
 
 getCleanQueryObject ()
 
 queryObj ()
 
 setQueryObj (\RS\Orm\Request $q)
 
 defAlias ()
 
 setFilter ($key, $value=null, $type= '=', $prefix= 'AND', array $options=[])
 
 clearFilter ()
 
 getList ($page=null, $page_size=null, $order=null)
 
 getListAsArray ($page=0, $page_size=0, $order= '')
 
 getListAsResource ($page=0, $page_size=0, $order= '')
 
 getPagedList ($page_size)
 
 loadAssocList ($key_field, $value=null)
 
 getAssocList ($key_field, $value=null)
 
 setOrder ($order=null, array $values=null)
 
 setGroup ($group=null)
 
 getListCount ()
 
 getFirst ()
 
 getOneItem ($id)
 
 getById ($id, $request=null)
 
 getElement ()
 
 setElement ($object)
 
 getElementClass ()
 
 getNewElement ()
 
 save ($id=null, array $user_post=[])
 
 addFilterControl (\RS\Html\Filter\Control $filter_control)
 
 addTableControl (\RS\Html\Table\Control $table_control)
 
 del (array $ids)
 
 multiDelete ($ids)
 
 getSelectList ($first=[])
 
 multieditFormView ($tpl_path, $formfile, array $addparam=[])
 
 multiUpdate (array $data, $ids=[])
 
 moveElement ($from, $to, $flag,\RS\Orm\Request $extra_expr=null)
 
 noWriteRights ($right=DefaultModuleRights::RIGHT_UPDATE)
 
 getIdByAlias ($alias_or_id, $alias_field=null)
 
 saveRequest ($key)
 
 getIdsByRequest (\RS\Orm\Request $request)
 
- Открытые члены унаследованные от BaseModel
 addError ($message, $fieldname=null, $form=null)
 
 hasError ()
 
 getErrors ()
 
 cleanErrors ()
 
 getDisplayErrors ()
 
 getErrorsStr ()
 
 getFormErrors ($form, $separator= ', ')
 
 getNonFormErrors ($separator= ', ')
 
 exportErrors ()
 
 importErrors ($data)
 

Открытые статические члены

static getBalanceSign ($balance, $user_id)
 
static getTransactionSign (Transaction $transaction)
 
static getBalance ($user_id, array $except_transaction_ids=[])
 
- Открытые статические члены унаследованные от EntityList
static getInstance ($key= 'default')
 
static staticSelectList ($first=[])
 
static getSavedRequest ($key, $default=null)
 

Защищенные члены

 buildTransactionFromOrder (Order $order)
 
- Защищенные члены унаследованные от EntityList
 parseArrayFilter ($filters)
 
 filterLike ($key, $value, $type, $prefix, $options)
 
 filterIs ($key, $value, $type, $prefix, $options)
 
 filterFullText ($key, $value, $type, $prefix, $options)
 
 filterIn ($key, $value, $type, $prefix, $options)
 
 filterNotin ($key, $value, $type, $prefix, $options)
 
 filterDefault ($key, $value, $type, $prefix, $options)
 
 setPage ($page, $pageSize)
 
 moveArrayUp ($arr)
 
 moveArrayDown ($arr)
 

Статические защищенные данные

static $types
 
- Статические защищенные данные унаследованные от EntityList
static $instance = []
 

Дополнительные унаследованные члены

- Поля данных унаследованные от EntityList
const WHERE_CONDITION_VAR = 'where_conditions'
 
- Поля данных унаследованные от BaseModel
 $form_fieldname = []
 
 $errors_by_form = []
 
 $errors_non_form = []
 
 $errors = []
 
- Защищенные данные унаследованные от EntityList
 $default_order
 
 $load_on_delete = false
 
 $id_field = 'id'
 
 $alias_field
 
 $sort_field
 
 $name_field
 
 $site_id_field = 'site_id'
 
 $is_multisite = false
 
 $site_context
 
 $def_table_alias = 'A'
 
 $obj
 
 $obj_instance
 
 $filter_active = false
 
 $multiedit_template = '%system%/coreobject/multiedit_form.tpl'
 
 $assocPlainList = []
 
 $parsePrefixes = ['&' => 'AND'
 
 $q
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 

Конструктор(ы)

__construct ( )

Методы

addFunds (   $user_id,
  $amount,
  $writeoff,
  $reason,
  $ckeck_rights = true,
  $entity = null,
  $entity_id = null,
  $payment_id = 0 
)

Добавить/Списать средства с лицевого счета

Аргументы
int$user_idИД пользователя
string$amountСумма пополнения (списания)
bool$writeoffФлаг списания
string$reasonПричина
bool$ckeck_rightsПроверять права на запись для модуля Магазин
string$entityСущность, к которой привязана транзакция (произвольный идентификатор)
string$entity_idID сущности, к которой привязана транзакция
integer$payment_idID способа оплаты, по умолчанию 0 - нет привязки к способу оплаты

entity и entity_id может использоваться для выборки транзакций по необходимому критерию, если такие критерии были записаны при создании транзакций.

Возвращает
Transaction|bool(false)
Исключения
RSException
buildTransactionFromOrder ( Order  $order)
protected

Возвращает заполненный объект транзакции для заказа

Аргументы
Order$order
Возвращает
Orm
createReceipt ( Transaction  $transaction,
  $operation_type = 'sell' 
)

Создаёт чек и оправляет его на ККТ

Аргументы
Orm\Transaction$transaction- объект транзакции
string$operation_type- тип чека
Возвращает
bool|string
Исключения
RSException
createTransactionForAddFunds (   $user_id,
  $payment_id,
  $cost,
  $reason = '' 
)

Создать транзацкию для Добавления/Списания средств с лицевого счета

Аргументы
int$user_id
int$payment_id
string$cost
Возвращает
Orm
Исключения
ShopException
createTransactionFromOrder (   $order_num)

Создать транзакцию для данного заказа. Создает новую транзакцию со статусом new Используется перед редиректом на внешнюю страницу оплаты

Аргументы
string$order_num
Возвращает
Transaction
Исключения
ShopException
static getBalance (   $user_id,
array  $except_transaction_ids = [] 
)
static

Возвращает баланс пользователя исходя из суммы транзакций

Аргументы
mixed$user_id
mixed$except_transaction_ids
Возвращает
double
static getBalanceSign (   $balance,
  $user_id 
)
static

Возвращает подпись баланса пользователя

Аргументы
string$balance
int$user_id
Возвращает
string
static getTransactionSign ( Transaction  $transaction)
static

Возвращает подпись транзакции

Аргументы
Transaction$transaction
Возвращает
string
Исключения
ShopException
isExistsTransactionForOrder (   $order_id)

Возвращает true, если для заказа существует хотя бы одна транзакция

Аргументы
integer$order_idID заказа
Возвращает
bool
recognizeTransactionFromRequest (   $payment_type,
HttpRequest  $request 
)

Разпознать в запросе идентификатор транзакции. Каждый конкретный тип оплаты это делает по своему.

Аргументы
mixed$payment_typeКороткое имя типа оплаты
HttpRequest$request
Возвращает
Transaction|Transaction[]
Исключения
ShopException
setPersonalAccountTransactionsFilter ( )

Установка фильтра для получения только транзацкий поолнения/списания с лицевого счета

updateTransactionFromOrder ( Order  $order)

Обновляет НОВУЮ, не оплаченную транзакцию при изменении заказа. Должна присутствовать одна транзакция для оплаты заказа

Аргументы
Order$order
Возвращает
bool
Исключения
ShopException

Поля

$types
staticprotected