Docs For Class Models_Order

Models_Order

Описание

Модель: Order

Класс Models_Order реализует логику взаимодействия с заказами покупателей.

  • Проверяет корректность ввода данных в форме оформления заказа;
  • Добавляет заказ в базу данных.
  • Отправляет сообщения на электронные адреса пользователя и администраторов, при успешном оформлении заказа.
  • Удаляет заказ из базы данных.

Методы класса
void addNewUser() Если заказ оформляется впервые на нового покупателя, то создает новую запись в таблице пользователей.
int addOrder() Сохраняет заказ в базу сайта.
bool cloneOrder() Создает дубль заказа
string createCustomFieldToAdmin() Возвращает верстку дополнительных полей в админке для настройки.
bool deleteOrder() Удаляет заказ из базы данных.
bool DeliveryExist() Проверяет, существуют ли способы доставки.
array exportToCsvOrder() Выгружает список заказов в CSV файл.
array getDeliveryMethod() Получение данных о способах доставки.
void getExportCSV() Экспортирует параметры конкретного заказа в CSV файл.
bool getFileByMd5() Возвращает файл по хэшу.
array getFileToOrder() Возвращает ссылки на скачивания электронных товаров.
array getListDelivery() Возвращает весь список способов доставки в ассоциативном массиве с индексами.
array getListPayment() Возвращает весь список способов оплаты в ассоциативном массиве с индексами.
string getMaxDate() Возвращает дату последнего заказа.
string getMaxPrice() Возвращает максимальную сумму заказа.
array getMinDate() Возвращает дату первого заказа.
string getMinPrice() Возвращает минимальную сумму заказа.
int getNewOrdersCount() Возвращает общее количествo невыполненных заказов.
array getOrder() Возвращает массив заказов подцепляя данные о способе доставки.
string getOrderCount() Возвращает общее количество заказов.
array getOrderDiscount() Поиск скидки, применяемой к заказу по промокоду или в рамках накопительной/объемной скидки.
array getOrderStat() Возвращает статистику заказов за каждый день начиная с открытия магазина.
string getOrderStatus() Расшифровка по id статуса заказа.
string getPaidedStatus() Получение статуса оплаты.
array getParamArray() Возвращает массив параметров оплаты.
array getPaymentBlocksMethod() Получает набор всех способов доставки.
array getPaymentMethod() Расшифровка по id методов оплаты.
array getPdfOrder() Отдает pdf файл на скачивание.
array getStatisticPeriod() Возвращает статистику заказов за выбранный период.
bool|string isValidData() Проверяет корректность ввода данных в форму заказа и регистрацию в системе покупателя.
bool notSetGoods() Проверяет есть в заказе комплект или нет при копировании заказа
string printOrder() Выводит на экран печатную форму для печати заказа в админке.
void|string printQittance() Выводит на экран печатную форму для печати квитанции на оплату заказа.
bool refreshCountAfterEdit() Пересчитывает количество остатков продуктов при редактировании заказа.
bool refreshCountProducts() Пересчитывает количество остатков продуктов при отмене заказа.
void sendLinkForElectro() Отправляет письмо со ссылками на приобретенные электронные товары
void sendMailOfPayed() Отправляет сообщение об оплате заказа.
void sendMailOfUpdateOrder() Уведомляет админов о смене статуса заказа пользователем, высылая им письма.
void sendStatusToEmail() Отправляет сообщение о смене статуса заказа его владельцу.
bool setOrderStatus() Устанавливает переданный статус заказа.
bool updateOrder() Изменяет данные о заказе
string _getHash() Генерация случайного хэша.
Описание методов и примеры их использования

Метод

void addNewUser ()

Описание

Если заказ оформляется впервые на нового покупателя, то создает новую запись в таблице пользователей.

Пример использования

  1.  $model new Models_Order();
  2.  $model->newUser true;
  3.  $model->email 'user@mail.mail';
  4.  $model->fio 'username';
  5.  $model->address 'адрес';
  6.  $model->phone '8 (555) 555-55-55';
  7.  $model->ip '127.0.0.1';
  8.  
  9.  $model->addNewUser();

Метод

int addOrder ([bool $adminOrder = false])

Параметры

  • $adminOrder: пришел ли заказ из админки

Описание

Сохраняет заказ в базу сайта.

Добавляет в массив корзины третий параметр 'цена товара', для сохранения в заказ. Это нужно для того, чтобы в последствии вывести детальную информацию о заказе. Если оставить только id то информация может оказаться неверной, так как цены меняются.

  • see: Models_Order::isValidData() входящий массив <code> $model = new Models_Order(); $model->isValidData($arrayData); $orderId = $model->addOrder(); echo $orderId; </code>

Метод

bool cloneOrder ($id $id)

Параметры

  • $id: - id копируемого заказа

Описание

Создает дубль заказа

Пример использования

  1.  $order new Models_Order;
  2.  $order->cloneOrder(5);

Метод

string createCustomFieldToAdmin (array $data)

Параметры

  • $data: параметры

Описание

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

Пример использования

  1.  $data array('id' => 15);
  2.  echo $html;

Метод

bool deleteOrder (int $id, [array|null $arrayId = null])

Параметры

  • $id: id удаляемого заказа
  • $arrayId: массив id заказов, которые требуется удалить

Описание

Удаляет заказ из базы данных.

Пример использования

  1.  $model new Models_Order;
  2.  $model->deleteOrder(falsearray(1,2,3,4,5));

Метод

bool DeliveryExist ()

Описание

Проверяет, существуют ли способы доставки.

Пример использования

Метод

array exportToCsvOrder ([array $listOrderId = array()], [bool $full = false])

Параметры

  • $listOrderId: выгрузка выбранных заказов
  • $full: полная выгрузка

Описание

Выгружает список заказов в CSV файл.

Пример использования

  1.  $order new Models_Order;
  2.  echo $order->exportToCsvOrder();

Метод

array getDeliveryMethod ([bool $returnArray = true], [int $id = -1])

Параметры

  • $returnArray: возвращать несколько способов доставки
  • $id: способа доставки

Описание

Получение данных о способах доставки.

Пример использования

  1.  $order new Models_Order();
  2.  $result $order->getDeliveryMethod();
  3.  viewData($result);

Метод

void getExportCSV ($orderId $orderId)

Параметры

  • $orderId: - id заказа.

Описание

Экспортирует параметры конкретного заказа в CSV файл.

Пример использования

  1.  $order new Models_Order;
  2.  $order->getExportCSV(5);

Метод

bool getFileByMd5 (string $md5)

Параметры

Описание

Возвращает файл по хэшу.

Пример использования

  1.  Models_Order::getFileByMd5('$1$.z8cFb7V$zt15YCRQ3442XaOU8mkWh1');

Метод

array getFileToOrder (int $orderId)

Параметры

  • $orderId: id заказа

Описание

Возвращает ссылки на скачивания электронных товаров.

Пример использования

  1.  $model new Models_Order;
  2.  $result $model->sendMailOfPayed(5);
  3.  viewData($result);

Метод

array getListDelivery ()

Описание

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

Пример использования

  1.  $result Models_Order::getListDelivery();
  2.  viewData($result);

Метод

array getListPayment ()

Описание

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

Пример использования

  1.  $result Models_Order::getListPayment();
  2.  viewData($result);

Метод

string getMaxDate ()

Описание

Возвращает дату последнего заказа.

Пример использования

Метод

string getMaxPrice ()

Описание

Возвращает максимальную сумму заказа.

Пример использования

Метод

array getMinDate ()

Описание

Возвращает дату первого заказа.

Пример использования

Метод

string getMinPrice ()

Описание

Возвращает минимальную сумму заказа.

Пример использования

Метод

int getNewOrdersCount ()

Описание

Возвращает общее количествo невыполненных заказов.

Пример использования

Метод

array getOrder ([string $where = ''])

Параметры

  • $where: необязательный параметр формирующий условия поиска заказа, например: id = 1

Описание

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

Пример использования

  1.  $model new Models_Order;
  2.  $orders $model->getOrder('id IN (1,2,3,4,5)');
  3.  viewData($orders);

Метод

string getOrderCount ([string $where = ''])

Параметры

  • $where: условие выбора

Описание

Возвращает общее количество заказов.

Метод

array getOrderDiscount (array $params)

Параметры

  • $params: параметры заказа

Описание

Поиск скидки, применяемой к заказу по промокоду или в рамках накопительной/объемной скидки.

Пример использования

  1.  $params array(
  2.     'summ' => 1000// сумма заказа
  3.     'email' => 'admin@admin.ru'// почта покупателя
  4.     'promocode' => 'DEFAULT-DISCONT'// код купона скидки
  5.     'cumulative' => 'true'// накопительная скидка
  6.     'volume' => 'true'// объемная скидка
  7.     'paymentId' => 5// ID способа
  8.     'orderItems' => 'array' // массив с товарами заказа
  9.  );
  10.  $order new Models_Order;
  11.  $order->getOrderDiscount($params);

Метод

array getOrderStat ()

Описание

Возвращает статистику заказов за каждый день начиная с открытия магазина.

Пример использования

  1.  $result Models_Order::getOrderStat();
  2.  viewData($result);

Метод

string getOrderStatus (int $statusId)

Параметры

  • $statusId: id статуса заказа.

Описание

Расшифровка по id статуса заказа.

Пример использования

Метод

string getPaidedStatus (array $paidedId)

Параметры

  • $paidedId: массив с заказом

Описание

Получение статуса оплаты.

Пример использования

Метод

array getParamArray (int $pay, int $orderId, float $summ)

Параметры

  • $pay: id способа оплаты.
  • $orderId: id заказа.
  • $summ: сумма заказа.

Описание

Возвращает массив параметров оплаты.

Пример использования

  1.  $order new Models_Order;
  2.  $paymentInfo $order->getParamArray(1551500);
  3.  viewData($paymentInfo);

Метод

array getPaymentBlocksMethod ()

Описание

Получает набор всех способов доставки.

Пример использования

  1.  $order new Models_Order();
  2.  $result $order->getPaymentBlocksMethod();
  3.  viewData($result);

Метод

array getPaymentMethod (int $paymentId)

Параметры

Описание

Расшифровка по id методов оплаты.

Пример использования

  1.  $order new Models_Order();
  2.  $result $order->getPaymentMethod(14);
  3.  viewData($result);

Метод

array getPdfOrder (int $orderId, [string $type = "order"])

Параметры

  • $orderId: номер заказа id.
  • $type: тип запрашиваемого результата.

Описание

Отдает pdf файл на скачивание.

Пример использования

  1.  $model new Models_Order;
  2.  $model->getPdfOrder(5);

Метод

array getStatisticPeriod (string $dateFrom, string $dateTo)

Параметры

  • $dateFrom: дата "Oт".
  • $dateTo: дата "До".

Описание

Возвращает статистику заказов за выбранный период.

Пример использования

  1.  $result Models_Order::getStatisticPeriod('01.01.2017','01.01.2018');
  2.  viewData($result);

Метод

bool|string isValidData (array $arrayData, [array $require = array('email','phone','payment')], [bool $createUser = true], [string $error = null])

Параметры

  • $arrayData: массив с ведёнными пользователем данными.
  • $require: обязательные поля к заполнению
  • $createUser: создавать ли нового пользователя, если нет такого
  • $error: ошибка

Описание

Проверяет корректность ввода данных в форму заказа и регистрацию в системе покупателя.

Пример использования

  1.  $arrayData array(
  2.   'email' => 'admin@admin.ru'// почта пользователя
  3.   'phone' => '+7 (111) 111-11-11'// телефон пользователя
  4.   'fio' => 'Администратор'// имя покупателя
  5.   'address' => 'addr'// адрес доставки
  6.   'info' => 'comment'// комментарий покупателя
  7.   'customer' => 'fiz'// плательщик (fiz - физическое лицо, yur - юридическое)
  8.   'yur_info' => Array(
  9.          'nameyur' => null// название юр лица
  10.          'adress' => null// адрес юр лица
  11.          'inn' => null// инн юр лица
  12.          'kpp' => null// кпп юр лица
  13.          'bank' => null// банк юр лица
  14.          'bik' => null// бик юр лица
  15.          'ks' => null// К/Сч юр лица
  16.          'rs' => null// Р/Сч юр лица
  17.      ),
  18.   'delivery' => 1// ID доставки
  19.   'date_delivery' => '08.03.2018'// дата доставки
  20.   'payment' => // ID оплаты
  21.  );
  22.  $order new Models_Order;
  23.  $order->isValidData($arrayData);

Метод

bool notSetGoods (int $id)

Параметры

  • $id: id товара

Описание

Проверяет есть в заказе комплект или нет при копировании заказа

Пример использования

  1.  $result Models_Order::notSetGoods(3);
  2.  var_dump($result);

Метод

string printOrder (int $id, [bool $sign = true], [string $type = "order"])

Параметры

  • $id: id заказа.
  • $sign: использовать ли подпись.
  • $type: тип документа

Описание

Выводит на экран печатную форму для печати заказа в админке.

Пример использования

  1.  $model new Models_Order;
  2.  echo $model->printOrder(5);

Метод

void|string printQittance ([bool $public = true])

Параметры

  • $public: вывод на печать в публичной части, либо в админке.

Описание

Выводит на экран печатную форму для печати квитанции на оплату заказа.

Пример использования

  1.  $model new Models_Order;
  2.  $model->printQittance();

Метод

bool refreshCountAfterEdit (int $orderId, string $content)

Параметры

  • $orderId: id заказа.
  • $content: новое содержимое содержимое заказа (сериализованный массив)

Описание

Пересчитывает количество остатков продуктов при редактировании заказа.

Пример использования

  1.  $orderId 5;
  2.  $content 'a:1:{i:0;a:16:{s:2:\"id\";s:2:\"40\";s:7:\"variant\";s:4:\"1099\";s:5:\"title\";s:72:\"Чехол на руку для смартфона Demix+ Зелёный\";s:4:\"name\";s:72:\"Чехол на руку для смартфона Demix+ Зелёный\";s:8:\"property\";s:0:\"\";s:5:\"price\";s:3:\"499\";s:8:\"fulPrice\";s:3:\"499\";s:4:\"code\";s:6:\"SKU343\";s:6:\"weight\";s:1:\"0\";s:12:\"currency_iso\";s:3:\"RUR\";s:5:\"count\";s:1:\"2\";s:6:\"coupon\";s:1:\"0\";s:4:\"info\";s:0:\"\";s:3:\"url\";s:69:\"aksessuary/chehly-dlya-smartfonov/chehol-na-ruku-dlya-smartfona-demix\";s:8:\"discount\";s:1:\"0\";s:8:\"discSyst\";s:11:\"false/false\";}}';
  3.  $order new Models_Order;
  4.  $result $order->refreshCountAfterEdit($orderId$content);
  5.  var_dump($result);

Метод

bool refreshCountProducts (int $orderId, int $status_id)

Параметры

  • $orderId: id заказа.
  • $status_id: новый статус заказа.

Описание

Пересчитывает количество остатков продуктов при отмене заказа.

Пример использования

  1.  $model new Models_Order;
  2.  $model->refreshCountProducts(54);

Метод

void sendLinkForElectro (string $orderId)

Параметры

  • $orderId: номер заказа.

Описание

Отправляет письмо со ссылками на приобретенные электронные товары

Пример использования

  1.  $model new Models_Order;
  2.  $model->sendLinkForElectro(5);

Метод

void sendMailOfPayed (string $orderNamber, string $paySumm, string $pamentId)

Параметры

  • $orderNamber: id заказа.
  • $paySumm: сумма заказа.
  • $pamentId: id способа оплаты.

Описание

Отправляет сообщение об оплате заказа.

Пример использования

  1.  $model new Models_Order;
  2.  $model->sendMailOfPayed(5150019);

Метод

void sendMailOfUpdateOrder (int $orderId)

Параметры

  • $orderId: id заказа.

Описание

Уведомляет админов о смене статуса заказа пользователем, высылая им письма.

Пример использования

  1.  $model new Models_Order;
  2.  $model->sendMailOfUpdateOrder(5);

Метод

void sendStatusToEmail (int $id, int $statusId, [string $text = ''])

Параметры

  • $id: номер заказа.
  • $statusId: новый статус.
  • $text: текст письма.

Описание

Отправляет сообщение о смене статуса заказа его владельцу.

Пример использования

  1.  $model new Models_Order;
  2.  $model->sendStatusToEmail(53'Ваш заказ передан в службу доставки');

Метод

bool setOrderStatus (int $id, int $statusId)

Параметры

  • $id: номер заказа.
  • $statusId: статус заказа.

Описание

Устанавливает переданный статус заказа.

Пример использования

  1.  $result Models_Order::setOrderStatus(54);
  2.  var_dump($result);

Метод

bool updateOrder (array $array, [bool $informUser = false], [string $text = ''])

Параметры

  • $array: массив с данными о заказе.
  • $informUser: информировать ли пользователя об изменении заказа.
  • $text: комментарий к заказу.

Описание

Изменяет данные о заказе

Пример использования

  1.  $array array(
  2.   'address' => 'addr'// адрес доставки
  3.   'date_delivery' => '08.03.2018'// дата доставки
  4.   'comment' => 'comment'// комментарий менеджера
  5.   'delivery_cost' => 700// стоимость доставки
  6.   'delivery_id' => 1// ID доставки
  7.   'id' => 3// ID заказа
  8.   'number' => 'M-0105268947551'// код заказа
  9.   'name_buyer' => 'Администратор'// имя покупателя
  10.   'payment_id' => 1// ID оплаты
  11.   'phone' => '+7 (111) 111-11-11'// телефон пользователя
  12.   'status_id' => 0// ID статуса заказа
  13.   'summ' => 100// сумма заказа без доставки
  14.   'currency_iso' => 'RUR'// код валюты заказа
  15.   'user_email' => 'admin@admin.ru'// почта пользователя
  16.   'order_content' => 'string'// сериализованный массив состава заказа
  17.   'storage' => 'default'// склад для заказа
  18.   'summ_shop_curr' => 100// сумма заказа без доставки в основной валюте магазина
  19.   'delivery_shop_curr' => 700// стоимость доставки в основной валюте магазина
  20.   'yur_info' => 'string' // сериализованный массив юридических данных
  21.  )
  22.  $model new Models_Order;
  23.  $model->updateOrder($array true'Ваш заказ успешно обновлен');

Метод

string _getHash (string $string)

Параметры

  • $string: - строка, на основе которой готовится хэш.

Описание

Генерация случайного хэша.

Пример использования

  1.  $email 'admin@mail.mail';
  2.  $hash Models_Order::_getHash($email);
  3.  echo $hash;