frontend\controllers\OrderController::actionToOffline PHP Method

actionToOffline() public method

public actionToOffline ( $order )
    public function actionToOffline($order)
    {
        $model = Order::find()->where(['and', ['order_sn' => $order], ['user_id' => Yii::$app->user->id], ['<>', 'status', Order::STATUS_DELETED]])->one();
        if (!$model) {
            throw new NotFoundHttpException('您没有该订单!');
        }
        if ($model->status !== Order::STATUS_UNPAID) {
            throw new BadRequestHttpException('参数错误!');
        }
        $model->status = Order::STATUS_UNSHIPPED;
        $model->payment = Order::PAYMENT_OFFLINE;
        if ($model->save(false)) {
            if ($model->store->enable_sms && !empty($model->store->cellphone)) {
                Yii::$app->smser->send($model->store->cellphone, "亲爱的店长,刚刚有人下了订单,订单号为{$order},请您快去查看。");
            }
            Yii::$app->session->setFlash('success', '订单成功由在线支付转为货到付款。');
            return $this->redirect(['detail', 'order' => $order]);
        } else {
            Yii::$app->session->setFlash('danger', '订单转换失败');
            return $this->redirect(['pay', 'order' => $order]);
        }
    }