selectHorseman($input)) { return $this->success('操作成功',"order?page={$current_page}"); } else { return $this->error('操作失败'); } } /** * 注:此方法在app/Http/Controllers/GrabOrderController.php中也有调用,修改需要注意 */ public function selectHorseman(array $input): bool { $hid = $input['horseman_id']; $oid = $input['order_id']; $horseman = LanzuEmployees::getName($hid);//骑手名称 $time = time(); $result = ImsCjdcOrderMain::where(['id' => $oid, 'horseman_id' => 0]) ->update([ 'shipping_type' => 1, 'horseman_id' => $hid, 'delivery_start_time' => $time, 'shipping_name' => $horseman, 'updated_at' => $time, ]); if ($result){ //>>1.指定骑手后,初始化骑手位置,默认将市场经纬做为骑手默认经纬 $row = ImsCjdcOrderMain::where('id',$oid)->select('market_id','global_order_id')->first(); $mid = $row->market_id; $market = ImsCjdcMarket::where('id',$mid)->first(); $ssdb = SsdbClient::client(env('SSDB_HOST'), env('SSDB_PORT')); $coordinate = $market->lng.','.$market->lat; $ssdb->set("horseman_coordinate_{$hid}",$coordinate); //>>2.配送开始后,给用户发送消息通知 Rpc::onlineDeliveryStart($row->global_order_id); return true; } else { return false; } } /** * Build a form here. */ public function form() { $this->select('horseman_id','配送员') ->options(LanzuEmployees::getHorseman(Auth::getMarket())) ->required(); $this->hidden('order_id'); $this->hidden('current_page'); } }