Ejemplo n.º 1
0
 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;
 }