public static function getNewShopOrders() { //получить заказы из магазина //формируем условия по статусам и типам отправления из настроек $statusID = implode(',', unserialize(Settings::findOne(['field' => 'order_status_sms'])->value)); $db = Settings::getDbShopConnect(); if ($db) { //получаем заказы из таблицы магазина по условиям $orders = $db->createCommand('SELECT orderID, order_amount, customerID, customer_firstname, spi FROM SC_orders WHERE spi != "" AND statusID IN (' . $statusID . ') ')->queryAll(); } $count = 0; //счетчик добавленных заказов foreach ($orders as $order) { //проверка есть ли уже такой заказ в системе if (Orders::find()->where(['order_id' => $order['orderID']])->one() == NULL) { //проверка доставлен ли заказ $delivery = Orders::checkDeliveryStatus($order['spi']); //var_dump($delivery); //запись в систему нового доставленного заказа if ($delivery['status'] == true) { $phone = $db->createCommand("SELECT reg_field_value FROM SC_customer_reg_fields_values WHERE `reg_field_ID` = '1' AND `customerID` = " . $order['customerID'])->queryOne(); $otch = $db->createCommand("SELECT reg_field_value FROM SC_customer_reg_fields_values WHERE `reg_field_ID` = '4' AND `customerID` = " . $order['customerID'])->queryOne(); $model = new Orders(); $model->order_id = $order['orderID']; $model->spi = $order['spi']; $model->fio = $order['customer_firstname'] . ' ' . $otch['reg_field_value']; $model->phone = $phone['reg_field_value']; $model->amount = $order['order_amount']; $model->delivery_time = $delivery['delivery_time']; $model->delivery_status = $delivery['delivery_status']; $statuses = Orders::OrderProcessing($model); //отправляем SMS 1 $model->send_sms_time = $statuses['send_sms_time']; $model->sms_status = $statuses['sms_status']; $model->status = $statuses['status']; if ($model->save()) { $count++; } //заказ добавлен, счетчик +1 } } } return $count; }