You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace App\Admin\Forms;
use App\Admin\Common\Auth;use App\Admin\Common\Rpc;use App\Libs\SsdbClient;use App\Models\ImsCjdcMarket;use App\Models\ImsCjdcOrderMain;use App\Models\LanzuServiceHorseman;use App\Models\v3\LanzuEmployees;use Dcat\Admin\Contracts\LazyRenderable;use Dcat\Admin\Traits\LazyWidget;use Dcat\Admin\Widgets\Form;use Symfony\Component\HttpFoundation\Response;
class SelectHorseman extends Form{
/** * Handle the form request. * * @param array $input * * @return Response */ protected $orderId; public function handle(array $input) { $hid = request()->input('horseman_id'); $oid = request()->input('order_id'); $current_page = request()->input('current_page'); $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 $this->success('操作成功',"order?page={$current_page}"); }else{ return $this->error('操作失败'); } }
/** * 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'); }
}
|