getList(); // 循环处理 foreach($list as $key => $createOrderInfo){ try{ echo "
"; echo "开始处理第 {$key} 条数据:
UID-{$createOrderInfo['uid']}   购买的{$createOrderInfo['total']}个   {$createOrderInfo['goods_name']}"; // 模拟下单 $this->imitateCreateOrderOperate($createOrderInfo); echo "
处理完成 - SUCCESS"; }catch(\Exception $e){ echo "
处理完成 - 处理失败:".$e->getMessage(); } } debug("数据处理完成"); } // 获取数据列表 - 调试数据 private function getList(){ // 获取用户信息 $userIds = Member::uniacid()->pluck('uid')->toArray(); // 获取商户信息 $goodsList = Goods::uniacid()->select(['id','title'])->get()->keyBy('id')->toArray(); $goodsIds = array_column($goodsList,'id'); // 生成数据 $list = []; for($i = 1; $i <= 3 ; $i++){ $currentGoodsId = $goodsIds[array_rand($goodsIds)]; $currentUid = $userIds[array_rand($userIds)]; $list[] = [ 'goods_name' => $goodsList[$currentGoodsId]['title'], 'goods_id' => $currentGoodsId, 'uid' => $currentUid, 'total' => rand(1,10), 'time' => time() ]; } return $list; } // 模拟下单 暂停开发,暂不使用 private function imitateCreateOrderOperate($createOrderInfo){ // request()->goods = [ // 'goods_id' => $createOrderInfo['goods_id'], // 'total' => $createOrderInfo['total'], // 'option_id' => 0, // ]; debug(request()->input()); //订单组 $trade = $this->getMemberCarts()->getTrade(Member::find($createOrderInfo['uid'])); $trade->generate(); $orderIds = $trade->orders->pluck('id')->implode(','); //生成订单,触发事件 debug(['orderIds'=>$orderIds]); } /** * @return static */ private function _getMemberCarts() { $goods_params = is_array(request()->input('goods')) ? request()->input('goods') : json_decode(request()->input('goods'), true); debug([$goods_params]); $memberCarts = collect($goods_params)->map(function ($memberCart) { return MemberCartService::newMemberCart($memberCart); }); return $memberCarts; } /** * @return MemberCartCollection * @throws \app\common\exceptions\AppException */ private function getMemberCarts() { if (!isset($this->memberCarts)) { $memberCarts = new MemberCartCollection($this->_getMemberCarts()); $memberCarts->loadRelations(); $memberCarts->validate(); $this->memberCarts = $memberCarts; } return $this->memberCarts; } }