Класс order модуля emarket — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «=Класс order= == Описание == Данный класс предоставляет доступ к заказу интернет-магазина либ…»)
 
 
(не показано 18 промежуточных версий 1 участника)
Строка 13: Строка 13:
 
</source>
 
</source>
  
$actualPrice хранит  актуальную цену на товар(с учетом скидки)
+
$actualPrice хранит  актуальную цену на заказ(с учетом скидки)
 
<source lang="php">
 
<source lang="php">
 
protected $actualPrice;
 
protected $actualPrice;
 
</source>
 
</source>
  
$originalPrice хранит  первоначальную цену товара
+
$originalPrice хранит  цену заказа с учетом скидки
 
<source lang="php">
 
<source lang="php">
 
protected $originalPrice;
 
protected $originalPrice;
Строка 32: Строка 32:
 
$discount хранит объект "скидка на заказ"
 
$discount хранит объект "скидка на заказ"
 
<source lang="php">
 
<source lang="php">
protected $totalAmount;
+
protected $discount;
 
</source>
 
</source>
  
Строка 38: Строка 38:
 
$domain хранит объект "текущий домен"
 
$domain хранит объект "текущий домен"
 
<source lang="php">
 
<source lang="php">
protected $totalAmount;
+
protected $domain;
 
</source>
 
</source>
  
Строка 45: Строка 45:
 
== Методы ==
 
== Методы ==
  
=== __construct() ===
+
=== create() ===
 +
 
 +
Экземпляр класса создается с помощью функции <span style="font-weight:bold">create()</span>
 +
<p>'''Параметры:''' </p><br/>
 +
boolean<span style="font-weight:bold"> $useDummyOrder</span>:
 +
по умолчанию false<br/>
 +
<p>'''Результат:'''Int $orderId - id нового заказа </p>
 +
 
 +
=== get() ===
 +
 
 +
Метод <span style="font-weight:bold">get()</span> получит экземпляр заказа по его id. Если id заказа false, то метод вернет текущий объект со статусом "в корзине".
 +
Если такого объекта еще нет, то он его создаст
 +
<p>'''Параметры:''' </p><br/>
 +
Integer <span style="font-weight:bold"> $orderId</span>:
 +
по умолчанию false<br/>
 +
<p>'''Результат:'''iUmiObject $order - новый объект заказ </p>
 +
 
 +
=== getStatusByCode() ===
 +
 
 +
Метод <span style="font-weight:bold">getStatusByCode()</span> получит id объекта статуса заказа.
 +
<p>'''Параметры:''' </p><br/>
 +
String <span style="font-weight:bold"> $codename</span>:
 +
код статуса заказа<br/>
 +
String <span style="font-weight:bold"> $statusClass = 'order_status'</span>:
 +
группа статуса<br/>
 +
<p>'''Результат:'''Integer id объекта статуса заказа </p>
 +
 
 +
=== getCodeByStatus() ===
  
Экземпляр класса создается с помощью функции <span style="font-weight:bold">__construct()</span>
+
Метод <span style="font-weight:bold">getCodeByStatus()</span> получит код статуса заказа.
 
<p>'''Параметры:''' </p><br/>  
 
<p>'''Параметры:''' </p><br/>  
  iUmiObject<span style="font-weight:bold"> $object</span>:
+
  Integer <span style="font-weight:bold"> $id</span>:
содержит в себе либо объект "зарегистрированный пользователь" либо объект "незарегистрированный покупатель"<br/>
 
<p>'''Результат:''' экземпляр класса customer</p>
 
  
При создании объекта, методом определяется, какое значение будет хранить переменная $isAuth:
+
идентификатор объекта статуса заказа<br/>
 +
 +
<p>'''Результат:'''String codename код статуса заказа </p>
  
<source lang="php">
+
=== getItems() ===
 +
 
 +
Метод <span style="font-weight:bold">getItems()</span> получит список наименований в заказе.
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
<p>'''Результат:'''Array массив, состоящий из экземпляров класса orderItem </p>
 +
 
 +
=== appendItem() ===
 +
 
 +
Метод <span style="font-weight:bold">appendItem()</span> добавит наименование в заказ.
 +
<p>'''Параметры:''' </p><br/>
 +
orderItem <span style="font-weight:bold"> $orderItem</span>:
 +
 
 +
наименование заказа<br/>
 +
 +
<p>'''Результат:''' вернет false, если наименование с таким id уже есть в заказе</p>
 +
 
 +
 
 +
=== removeItem() ===
 +
 
 +
Метод <span style="font-weight:bold">removeItem()</span> удалит наименование из заказа.После удаления из заказа объект orderItem будет уничтожен
 +
<p>'''Параметры:''' </p><br/>
 +
orderItem <span style="font-weight:bold"> $orderItem</span>:
 +
 
 +
наименование в заказе<br/>
 +
 +
<p>'''Результат:''' вернет true, если наименование было удалено, false в противном случае</p>
 +
 
 +
=== getItem() ===
 +
 
 +
Метод <span style="font-weight:bold">getItem()</span> получит
 +
экземпляр наименования заказа по id
 +
<p>'''Параметры:''' </p><br/>
 +
Integer <span style="font-weight:bold"> $itemId</span>:
 +
 
 +
id наименования<br/>
 +
 +
<p>'''Результат:''' orderItem, если наименование получить не удалось - false</p>
 +
 
 +
 
 +
=== isEmpty() ===
 +
 
 +
Метод <span style="font-weight:bold">isEmpty()</span> проверяет есть ли наименования в заказе
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' bool true, если заказ пустой, иначе false</p>
 +
 
 +
 
 +
=== earse() ===
 +
 
 +
Метод <span style="font-weight:bold">earse()</span> очистит
 +
список товаров в заказе. При этом будут уничтожены все orderItem'ы
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
<p>'''Результат:'''</p>
 +
 
 +
 
 +
=== getOrderStatus() ===
 +
 
 +
Метод <span style="font-weight:bold">getOrderStatus()</span> получит текущий статус заказа
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' Integer id объекта статуса заказа</p>
 +
 
 +
 
 +
=== setOrderStatus() ===
 +
 
 +
Метод <span style="font-weight:bold">setOrderStatus()</span> изменит текущий статус заказа
 +
<p>'''Параметры:''' </p><br/>
 +
Integer <span style="font-weight:bold"> $newStatusId</span>:
 +
 
 +
id объекта-статуса заказа<br/>
 +
 +
<p>'''Результат:''' </p>
 +
 
 +
 
 +
=== getPaymentStatus() ===
 +
 
 +
Метод <span style="font-weight:bold">getPaymentStatus()</span> получит текущий статус оплаты заказа
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' Integer id объекта-статуса оплаты</p>
 +
 
 +
 
 +
=== setPaymentStatus() ===
 +
 
 +
Метод <span style="font-weight:bold">getItem()</span> изменит текущий статус оплаты заказа
 +
<p>'''Параметры:''' </p><br/>
 +
Integer <span style="font-weight:bold"> $statusId</span>:
 +
 
 +
id объекта-статуса оплаты<br/>
 +
 +
<p>'''Результат:'''</p>
 +
 
 +
 
 +
=== getDeliveryStatus() ===
 +
 
 +
Метод <span style="font-weight:bold">getDeliveryStatus()</span> Получить текущий статус доставки заказа
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' Integerid объекта-статуса доставки</p>
 +
 
 +
 
 +
=== setDeliveryStatus() ===
 +
 
 +
Метод <span style="font-weight:bold">setDeliveryStatus()</span> изменит текущий статус доставки заказа
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
Integer <span style="font-weight:bold"> $statusId</span>:
 +
 
 +
id объекта-статуса доставки<br/>
 +
 +
<p>'''Результат:'''</p>
 +
 
 +
 
 +
=== getActualPrice() ===
 +
 
 +
Метод <span style="font-weight:bold">getActualPrice()</span> Получит цену всего заказа с учетом скидки на этот заказ
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' Float actualPrice - цена с учетом скидки на заказ </p>
 +
 
 +
 
 +
=== getOriginalPrice() ===
 +
 
 +
Метод <span style="font-weight:bold">getOriginalPrice()</span> Получит цену всего заказа без учета скидки на этот заказ
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' Float originalPrice -  цена без учета скидки на заказ</p>
 +
 
 +
 
 +
 
 +
=== getTotalAmount() ===
 +
 
 +
Метод <span style="font-weight:bold">getTotalAmount()</span> получит количество наименований в заказе
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' Integer totalAmount - количество наименований в заказе</p>
 +
 
 +
 
 +
=== getDeliveryPrice() ===
 +
 
 +
Метод <span style="font-weight:bold">getDeliveryPrice()</span> получит стоимость доставки
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' Integer delivery_price стоимость доставки</p>
 +
 
 +
 
 +
=== refresh() ===
 +
 
 +
Метод <span style="font-weight:bold">refresh()</span> пересчитает содержимое корзины
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:'''</p>
 +
 
 +
 
 +
=== getCustomerId() ===
 +
 
 +
Метод <span style="font-weight:bold">getCustomerId()</span> получит
 +
id клиента. Это может быть как id пользователя, так и id объекта временного покупателя
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 +
<p>'''Результат:''' Integer id объекта-клиента</p>
 +
 
 +
 
 +
=== getDomain() ===
 +
 
 +
Метод <span style="font-weight:bold">getDomain()</span> получит
 +
домен, в котором производится заказ
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:'''  $domain</p>
 +
 
 +
 
 +
=== setDomainId() ===
 +
 
 +
Метод <span style="font-weight:bold">setDomainId()</span> изменит домен, в котором производится заказ
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
domain  <span style="font-weight:bold"> $domain</span>:
 +
 
 +
<br/>
 +
 +
<p>'''Результат:''' </p>
 +
 
 +
 
 +
=== getDiscount() ===
 +
 
 +
Метод <span style="font-weight:bold">getDiscount()</span> получит
 +
текущую скидку на этот заказ
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 +
 +
<p>'''Результат:''' discount скидка на заказ</p>
 +
 
 +
 
 +
=== setDiscount() ===
 +
 
 +
Метод <span style="font-weight:bold">setDiscount()</span> Назначит скидку на заказ
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
discount <span style="font-weight:bold"> $discount</span>:
 +
 
 +
скидка на заказ, по умолчанию null<br/>
 +
 +
<p>'''Результат:''' </p>
 +
 
 +
 
 +
=== getBonusDiscount() ===
 +
 
 +
Метод <span style="font-weight:bold">getBonusDiscount()</span> получит размер оплаты бонусами.
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' float размер оплаты </p>
 +
 
 +
 
 +
 
 +
=== setBonusDiscount() ===
 +
 
 +
Метод <span style="font-weight:bold">setBonusDiscount()</span> установит оплату бонусом.
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
Integer <span style="font-weight:bold"> $id</span>:
 +
 
 +
идентификатор объекта статуса заказа<br/>
 +
 +
<p>'''Результат:'''String codename код статуса заказа </p>
 +
 
 +
=== getCodeByStatus() ===
 +
 
 +
Метод <span style="font-weight:bold">getCodeByStatus()</span> получит код статуса заказа.
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
float <span style="font-weight:bold"> $bonus</span>:
 +
 
 +
сумма списываемых баллов<br/>
 +
 +
<p>'''Результат:'''</p>
 +
 
 +
 
 +
 
 +
=== generateNumber() ===
 +
 
 +
Метод <span style="font-weight:bold">generateNumber()</span> сгенерирует номер заказа.
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:'''</p>
 +
 
 +
 
 +
 
 +
=== order() ===
 +
 
 +
Метод <span style="font-weight:bold">order()</span> сохранит заказ в базе со статусом "в обработке(waiting)", т.е. этот заказ уже не будет являтсья "текущей корзиной товаров"
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:'''true в случае сохранения заказа, false в противном случае </p>
 +
 
 +
 
 +
=== searchDiscount() ===
 +
 
 +
Метод <span style="font-weight:bold">searchDiscount()</span> определит скидку для  заказа.
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' orderDiscount $discount - скидка заказа </p>
 +
 
 +
 
 +
 
 +
=== reserve() ===
 +
 
 +
Метод <span style="font-weight:bold">reserve()</span> зарезервирует наименования в заказе
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:'''</p>
 +
 
 +
 
 +
 
 +
=== unreserve() ===
 +
 
 +
Метод <span style="font-weight:bold">unreserve()</span> отменить резервирование наименований в заказе.
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:'''</p>
 +
 
 +
 
 +
 
 +
=== writeOff() ===
 +
 
 +
Метод <span style="font-weight:bold">writeOff()</span> спишет из магазина зарезервированные наименования
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
 
 +
 +
<p>'''Результат:''' true, если наименования списаны, false в противном случае </p>
 +
 
 +
 
 +
=== getAdvParamFromUrl() ===
 +
 
 +
Метод <span style="font-weight:bold">getAdvParamFromUrl()</span> получит параметры рекламной компании.
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
<span style="font-weight:bold"> $url</span>:
 +
адрес на который пришёл пользователь<br/>
 +
 
 +
<span style="font-weight:bold"> $refer</span>:
 +
адрес с которого пришёл пользователь, по умолчанию null<br/>
 +
 
 +
<p>'''Результат:''' array $params </p>
 +
 
 +
 
 +
=== parseUrlReferer() ===
 +
 
 +
Метод <span style="font-weight:bold">parseUrlReferer()</span>  найдет в URL ключевые слова и источник перехода
 +
 
 +
<p>'''Параметры:''' </p><br/>
 +
<span style="font-weight:bold"> $url</span>:
 +
адрес с которого пришёл пользователь (referer)<br/>
 +
 
 +
<p>'''Результат:''' array $query </p>
 +
br/
 +
br//p
 +
 
 +
== Дополнительно ==
 +
 
 +
Другие статьи по классам emarket:
  
public function __construct(iUmiObject $object) {
+
<ul>
$permissions = permissionsCollection::getInstance();
+
<li>[[Класс customer модуля emarket]]</li>
                        //получить id текущего пользователя
+
<li>[[Класс orderItem модуля emarket]]</li>
$userId = $permissions->getUserId();
+
<li>[[Класс optionedOrderItem модуля emarket]]</li>
                        //получить id гостя
+
<li>[[Класс delivery модуля emarket]]</li>
$guestId = permissionsCollection::getGuestId();
+
<li>[[Класс discount модуля emarket]]</li>
                        // если id гостя равен id текущего пользователя записать в переменную $isAuth false, в противном 
+
<li>[[Дочерние классы класса delivery модуля emarket]]</li>
                        случае записать id текущего пользователя
+
<li>[[Класс discountModificator и его дочерние классы (модуль emarket) ]]</li>
$this->isAuth = ($userId == $guestId) ? false : $userId;
+
<li>[[Дочерние классы класса discount модуля emarket]]</li>
                        //создать экземпляр класса покупатель
+
<li>[[Класс discountRule и его дочерние классы (модуль emarket) ]]</li>
parent::__construct($object);
+
<li>[[Класс payment модуля emarket ]]</li>
}
+
<li>[[Класс emarketTop модуля emarket ]]</li>
</source>
+
<li>[[Класс currencyUpdater модуля emarket ]]</li>
 +
</ul>
 +
[[category:Модуль Интернет магазин]]

Текущая версия на 13:25, 16 июля 2018

Класс order

Описание

Данный класс предоставляет доступ к заказу интернет-магазина либо к текущей корзине. Исходный код класса находится в файле classes\modules\emarket\classes\order\order.php

Свойства класса

$items, хранит информацию о предметах в заказе или корзине

protected $items = Array();

$actualPrice хранит актуальную цену на заказ(с учетом скидки)

protected $actualPrice;

$originalPrice хранит цену заказа с учетом скидки

protected $originalPrice;

$totalAmount хранит общее количество предметов в заказе или корзине товаров

protected $totalAmount;


$discount хранит объект "скидка на заказ"

protected $discount;


$domain хранит объект "текущий домен"

protected $domain;


Методы

create()

Экземпляр класса создается с помощью функции create()

Параметры:


boolean $useDummyOrder:

по умолчанию false

Результат:Int $orderId - id нового заказа

get()

Метод get() получит экземпляр заказа по его id. Если id заказа false, то метод вернет текущий объект со статусом "в корзине". Если такого объекта еще нет, то он его создаст

Параметры:


Integer  $orderId:

по умолчанию false

Результат:iUmiObject $order - новый объект заказ

getStatusByCode()

Метод getStatusByCode() получит id объекта статуса заказа.

Параметры:


String  $codename:

код статуса заказа

String  $statusClass = 'order_status':

группа статуса

Результат:Integer id объекта статуса заказа

getCodeByStatus()

Метод getCodeByStatus() получит код статуса заказа.

Параметры:


Integer  $id:

идентификатор объекта статуса заказа

Результат:String codename код статуса заказа

getItems()

Метод getItems() получит список наименований в заказе.

Параметры:


Результат:Array массив, состоящий из экземпляров класса orderItem

appendItem()

Метод appendItem() добавит наименование в заказ.

Параметры:


orderItem  $orderItem:

наименование заказа

Результат: вернет false, если наименование с таким id уже есть в заказе


removeItem()

Метод removeItem() удалит наименование из заказа.После удаления из заказа объект orderItem будет уничтожен

Параметры:


orderItem  $orderItem:

наименование в заказе

Результат: вернет true, если наименование было удалено, false в противном случае

getItem()

Метод getItem() получит экземпляр наименования заказа по id

Параметры:


Integer  $itemId:

id наименования

Результат: orderItem, если наименование получить не удалось - false


isEmpty()

Метод isEmpty() проверяет есть ли наименования в заказе

Параметры:



Результат: bool true, если заказ пустой, иначе false


earse()

Метод earse() очистит список товаров в заказе. При этом будут уничтожены все orderItem'ы

Параметры:


Результат:


getOrderStatus()

Метод getOrderStatus() получит текущий статус заказа

Параметры:



Результат: Integer id объекта статуса заказа


setOrderStatus()

Метод setOrderStatus() изменит текущий статус заказа

Параметры:


Integer  $newStatusId:

id объекта-статуса заказа

Результат:


getPaymentStatus()

Метод getPaymentStatus() получит текущий статус оплаты заказа

Параметры:



Результат: Integer id объекта-статуса оплаты


setPaymentStatus()

Метод getItem() изменит текущий статус оплаты заказа

Параметры:


Integer  $statusId:

id объекта-статуса оплаты

Результат:


getDeliveryStatus()

Метод getDeliveryStatus() Получить текущий статус доставки заказа

Параметры:



Результат: Integerid объекта-статуса доставки


setDeliveryStatus()

Метод setDeliveryStatus() изменит текущий статус доставки заказа

Параметры:


Integer  $statusId:

id объекта-статуса доставки

Результат:


getActualPrice()

Метод getActualPrice() Получит цену всего заказа с учетом скидки на этот заказ

Параметры:



Результат: Float actualPrice - цена с учетом скидки на заказ


getOriginalPrice()

Метод getOriginalPrice() Получит цену всего заказа без учета скидки на этот заказ

Параметры:



Результат: Float originalPrice - цена без учета скидки на заказ


getTotalAmount()

Метод getTotalAmount() получит количество наименований в заказе

Параметры:



Результат: Integer totalAmount - количество наименований в заказе


getDeliveryPrice()

Метод getDeliveryPrice() получит стоимость доставки

Параметры:



Результат: Integer delivery_price стоимость доставки


refresh()

Метод refresh() пересчитает содержимое корзины

Параметры:



Результат:


getCustomerId()

Метод getCustomerId() получит id клиента. Это может быть как id пользователя, так и id объекта временного покупателя

Параметры:


Результат: Integer id объекта-клиента


getDomain()

Метод getDomain() получит домен, в котором производится заказ

Параметры:



Результат: $domain


setDomainId()

Метод setDomainId() изменит домен, в котором производится заказ

Параметры:


domain   $domain:


Результат:


getDiscount()

Метод getDiscount() получит текущую скидку на этот заказ

Параметры:



Результат: discount скидка на заказ


setDiscount()

Метод setDiscount() Назначит скидку на заказ

Параметры:


discount $discount:

скидка на заказ, по умолчанию null

Результат:


getBonusDiscount()

Метод getBonusDiscount() получит размер оплаты бонусами.

Параметры:



Результат: float размер оплаты


setBonusDiscount()

Метод setBonusDiscount() установит оплату бонусом.

Параметры:


Integer  $id:

идентификатор объекта статуса заказа

Результат:String codename код статуса заказа

getCodeByStatus()

Метод getCodeByStatus() получит код статуса заказа.

Параметры:


float  $bonus:

сумма списываемых баллов

Результат:


generateNumber()

Метод generateNumber() сгенерирует номер заказа.

Параметры:



Результат:


order()

Метод order() сохранит заказ в базе со статусом "в обработке(waiting)", т.е. этот заказ уже не будет являтсья "текущей корзиной товаров"

Параметры:



Результат:true в случае сохранения заказа, false в противном случае


searchDiscount()

Метод searchDiscount() определит скидку для заказа.

Параметры:



Результат: orderDiscount $discount - скидка заказа


reserve()

Метод reserve() зарезервирует наименования в заказе

Параметры:



Результат:


unreserve()

Метод unreserve() отменить резервирование наименований в заказе.

Параметры:



Результат:


writeOff()

Метод writeOff() спишет из магазина зарезервированные наименования

Параметры:



Результат: true, если наименования списаны, false в противном случае


getAdvParamFromUrl()

Метод getAdvParamFromUrl() получит параметры рекламной компании.

Параметры:


$url: адрес на который пришёл пользователь

$refer: адрес с которого пришёл пользователь, по умолчанию null

Результат: array $params


parseUrlReferer()

Метод parseUrlReferer() найдет в URL ключевые слова и источник перехода

Параметры:


$url: адрес с которого пришёл пользователь (referer)

Результат: array $query

br/ br//p

Дополнительно

Другие статьи по классам emarket: