/** * Отправка новых заявок в v3toys */ public function actionSubmitNewMessages() { if ($orders = V3toysMessage::find()->andWhere(['or', ['status_name' => ''], ['status_name' => null]])->andWhere(['>=', 'created_at', time() - 3600 * 24])->all()) { $totalOrders = count($orders); $this->stdout("Заявок к отправке в v3toys: {$totalOrders}\n", Console::BOLD); //Есть заказы к отрпавке /** * @var V3toysMessage $order */ foreach ($orders as $order) { $response = \Yii::$app->v3toysApi->createMessage($order->getApiRequestData()); if ($response->isError) { $message = "Заявка #{$order->id} не отправлен в апи: {$response->error_code} {$response->error_message}"; \Yii::error($message, V3toysModule::className()); $this->stdout("\t{$message}\n", Console::FG_RED); } if ($response->isOk) { $this->stdout("Заявка отправлена в v3toys\n", Console::FG_GREEN); } } } else { $this->stdout("Нет заказов к отправке в v3toys\n", Console::BOLD); } }
/** * После создания заказа, пробуем создать все что нужно в cms но это уже не обязательно, поэтому если что то, где то не сработает не столь важно * * @param $e */ public function _afterCreateOrder($e) { try { //Если пользователя не было, пробуем создать if (!$this->user_id) { if (!($user = CmsUser::findOne(['email' => $this->email]))) { $user = $this->_createCmsUser(); } //create user $this->user_id = $user->id; $this->save(); $this->refresh(); } } catch (\Exception $e) { \Yii::error($e->getMessage(), V3toysModule::className()); } }