get(IdGeneratorInterface::class); $globalOrderId = $generator->generate(); $dataMain = [ 'market_id' => $store->market_id, 'order_num' => $globalOrderId, 'global_order_id' => $globalOrderId, 'user_id' => $userId, 'type' => OrderType::OFFLINE, 'money' => $money, 'total_money' => $money, 'services_money' => 0, 'coupon_money' => 0, 'delivery_money' => 0, 'state' => OrderState::UNPAID, 'tel' => '', 'address' => '', 'lat' => '', 'lng' => '', 'name' => '', 'plat' => $plat, 'delivery_time_note' => '' ]; $orderMain = OrderMain::create($dataMain); $orderMainId = $orderMain->id; // 子订单数据 $dataChildren = [ 'order_main_id' => $orderMainId, 'user_id' => $userId, 'store_id' => $storeId, 'money' => $money, 'order_num' => date('YmdHis').mt_rand(1000, 9999), 'note' => '' ]; $orderChild = Order::create($dataChildren); $orderChildId = $orderChild->id; Db::commit(); // 支付 return $this->paymentService->do($globalOrderId, $money, $userId, config('site_host') . '/wechat/notify/wxminioffline'); } catch (\Exception $e) { Db::rollBack(); $this->log->event(LogLabel::ORDER_ONLINE_LOG, ['exception_msg' => $e->getMessage()]); throw new ErrorCodeException(ErrorCode::ORDER_ONLINE_FAIL); } } public function check() { // TODO: Implement check() method. } public function undo() { // TODO: Implement undo() method. } }