dispatch_type != 2) { // return false; // } $worker_id = (new DispatchLogic())->getMaxScoreWorker($order); // dd($worker_id); if (!$worker_id) { $order->dispatch_type = 1; $order->save(); return false; } $admin = Admin::where('id',config('system_id'))->find(); $insert = [ 'admin_id' => $admin->id, 'admin_user' => $admin->nickname, 'order_id' => $order->id, 'type' => 2, 'worker_id' => $worker_id, 'plan_time' => $order->plan_time ?? null, 'is_receipt' => $order->receive_type == 1, ]; $worker = (new Worker())->where('id', $worker_id)->find(); $insert ['worker_name'] = $worker['name']; $insert ['worker_tel'] = $worker['tel']; $insert['follow'] = 1; $orderDispatch = new OrderDispatch(); $res = $orderDispatch->allowField(true)->save($insert); $order->status = \app\admin\model\Order::STATUS_DISPATCHED; $order->dispatch_time = date('Y-m-d H:i:s'); $order->dispatch_admin_id = $admin->id; $order->dispatch_admin_user = $admin->nickname; $order->worker_id = $worker_id; $order->dispatch_type = 2; $order->save(); //日志 $hookparams['order'] = $order; $hookparams['role'] = 1; $hookparams['auth'] = null; $hookparams['remark'] = '自动完成派单';//. $worker->name.'('.$worker->tel.')'; /*if ($isRetry) { $hookparams['remark'] = '订单重派:工程师【'.$worker->name.'】超时不接单,系统自动转派订单'; }*/ Hook::listen('order_change', $hookparams); //日志 $hookParams = [ 'dispatch' => (new OrderDispatch())->where('id', $orderDispatch->id)->find(), 'remark' => '自动派单给工程师:'. $worker->name .'('.$worker->tel.')', ]; Hook::listen('order_dispatch_change', $hookParams); return true; } }