m\modules\v1\controllers\OrderController::actionCreate PHP Method

actionCreate() public method

public actionCreate ( $id )
    public function actionCreate($id)
    {
        try {
            $createOrderForm = new CreateOrderForm($id);
        } catch (InvalidParamException $e) {
            throw new BadRequestHttpException($e->getMessage());
        }
        if (Yii::$app->request->method === 'GET') {
            return ['fee' => Yii::$app->user->identity->getCartGoodsRealVolume($id), 'store' => $createOrderForm->store, 'cartGoodsList' => $createOrderForm->cartGoodsList, 'addressList' => $createOrderForm->addressList, 'preferentialItems' => $createOrderForm->preferentialItems, 'bookTimeItems' => $createOrderForm->bookTimeItems];
        } else {
            if ($createOrderForm->load(Yii::$app->request->post(), '') && $createOrderForm->validate()) {
                try {
                    Yii::info('用户开始创建订单,用户id:' . Yii::$app->user->id);
                    if ($createOrderForm->create(false)) {
                        Yii::info("用户创建订单成功!订单号:{$createOrderForm->order->order_sn}");
                        if ($createOrderForm->payment === Order::PAYMENT_ONLINE) {
                        } else {
                            if ($createOrderForm->store->enable_sms && !empty($createOrderForm->store->cellphone)) {
                                Yii::$app->smser->send($createOrderForm->store->cellphone, "亲爱的店长,刚刚有人下了订单,订单号为{$createOrderForm->order->order_sn},请您快去查看。");
                            }
                        }
                        return ['status' => 'success', 'data' => ['id' => $createOrderForm->order->id, 'orderSn' => $createOrderForm->order->order_sn, 'payment' => $createOrderForm->order->payment]];
                    } else {
                        Yii::error('用户创建订单失败!用户id:' . Yii::$app->user->id);
                    }
                } catch (\Exception $e) {
                    Yii::error('用户创建订单失败!用户id:' . Yii::$app->user->id . ' 错误信息:' . $e->getMessage());
                    return ['status' => 'fail', 'data' => ['errors' => [$e->getMessage()]]];
                }
            }
            return ['status' => 'fail', 'data' => ['errors' => $createOrderForm->getFirstErrors() ?: ['订单创建失败!']]];
        }
    }