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() ?: ['订单创建失败!']]];
}
}