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);//骑手名称 $result = ImsCjdcOrderMain::where('id',$oid)->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'); } }